如何在 Swift 中制作简单的 UITabBarController?
How to make simple UITabBarController in Swift?
我创建了一个 UITabBarController class
我创建了两个视图控制器并为每个设置了标题属性
我想更改选项卡中文本标签的大小和颜色
我已经使用
设置了选项卡颜色和框架
UITabBar.appearance().barTintColor = UIColor.blueColor()
tabBar.frame = CGRectMake(0, 0, view.frame.width, 100)
现在为了调整选项卡,我尝试了以下每个方法
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object: UIColor.whiteColor(), forKey: NSForegroundColorAttributeName), forState: UIControlState.Normal)
将文本颜色更改为白色
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object: UIColor.whiteColor(), forKey: NSForegroundColorAttributeName), forState: UIControlState.Normal)
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object: UIFont(name: "Helvetica", size: 16.0)!, forKey: NSFontAttributeName), forState: UIControlState.Normal)
那只改变了文本的大小,没有改变颜色!
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(objects: [NSForegroundColorAttributeName, NSFontAttributeName], forKeys: [UIColor.whiteColor(), UIFont(name: "Helvetica", size: 16.0)!]), forState: UIControlState.Normal)
// OR
var attributes = NSDictionary(objects: [NSForegroundColorAttributeName, NSFontAttributeName], forKeys: [UIColor.whiteColor(), UIFont(name: "Helvetica", size: 16.0)!])
UITabBarItem.appearance().setTitleTextAttributes(attributes, forState: UIControlState.Normal)
最后一点什么也没做,既没有设置选项卡文本的颜色也没有设置大小
更新------
更准确的说,上面的代码都是在UITabBarControllerchildclassin viewWillAppear
里面试过的
此外,我很好奇如何制作整个选项卡 (tab-able) 而不仅仅是其中的文本标签部分,以及如何在选项卡之间添加某种行分隔符
我找到了实现它的方法
设置标题颜色和大小要通过UITabBarItem外观"proxy"
override func viewWillLayoutSubviews() {
self.tabBar.frame = CGRectMake(0, 20, view.frame.width, 50)
var font = UIFont(name: "Helvetica", size: 16)
var objs = NSArray(objects: font!, UIColor.whiteColor())
var keys = NSArray(objects: NSFontAttributeName, NSForegroundColorAttributeName)
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(objects: objs, forKeys: keys), forState: UIControlState.Normal)
}
我创建了一个 UITabBarController class
我创建了两个视图控制器并为每个设置了标题属性
我想更改选项卡中文本标签的大小和颜色
我已经使用
设置了选项卡颜色和框架UITabBar.appearance().barTintColor = UIColor.blueColor()
tabBar.frame = CGRectMake(0, 0, view.frame.width, 100)
现在为了调整选项卡,我尝试了以下每个方法
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object: UIColor.whiteColor(), forKey: NSForegroundColorAttributeName), forState: UIControlState.Normal)
将文本颜色更改为白色
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object: UIColor.whiteColor(), forKey: NSForegroundColorAttributeName), forState: UIControlState.Normal)
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object: UIFont(name: "Helvetica", size: 16.0)!, forKey: NSFontAttributeName), forState: UIControlState.Normal)
那只改变了文本的大小,没有改变颜色!
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(objects: [NSForegroundColorAttributeName, NSFontAttributeName], forKeys: [UIColor.whiteColor(), UIFont(name: "Helvetica", size: 16.0)!]), forState: UIControlState.Normal)
// OR
var attributes = NSDictionary(objects: [NSForegroundColorAttributeName, NSFontAttributeName], forKeys: [UIColor.whiteColor(), UIFont(name: "Helvetica", size: 16.0)!])
UITabBarItem.appearance().setTitleTextAttributes(attributes, forState: UIControlState.Normal)
最后一点什么也没做,既没有设置选项卡文本的颜色也没有设置大小
更新------
更准确的说,上面的代码都是在UITabBarControllerchildclassin viewWillAppear
里面试过的此外,我很好奇如何制作整个选项卡 (tab-able) 而不仅仅是其中的文本标签部分,以及如何在选项卡之间添加某种行分隔符
我找到了实现它的方法
设置标题颜色和大小要通过UITabBarItem外观"proxy"
override func viewWillLayoutSubviews() {
self.tabBar.frame = CGRectMake(0, 20, view.frame.width, 50)
var font = UIFont(name: "Helvetica", size: 16)
var objs = NSArray(objects: font!, UIColor.whiteColor())
var keys = NSArray(objects: NSFontAttributeName, NSForegroundColorAttributeName)
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(objects: objs, forKeys: keys), forState: UIControlState.Normal)
}