使用 Swift (Xcode 6) 更改 BarButtonItem 字体

Posted

技术标签:

【中文标题】使用 Swift (Xcode 6) 更改 BarButtonItem 字体【英文标题】:Change BarButtonItem Font Using Swift (Xcode 6) 【发布时间】:2015-02-18 16:07:00 【问题描述】:

我在更改已添加到导航控制器的 BarButtonItem 的 swift Xcode 项目中的字体时遇到问题。我能够毫无问题地更改按钮的颜色,但字体不会改变。代码:

var navTextColor = UIColor(red:0.3, green:0.09, blue:0.05, alpha:1.0)
self.navigationController?.navigationBar.tintColor = navTextColor

【问题讨论】:

【参考方案1】:

如果您创建并链接到您的UIBarButtonItem 的插座(例如@IBOutlet var barButton: UIBarButtonItem!),您应该能够通过在插座上使用setTitleTextAttributes 来更改您的字体类型。

barButton.setTitleTextAttributes([ NSFontAttributeName: UIFont(name: "Arial", size: 12)!], forState: UIControlState.Normal)

Swift3

barButton.setTitleTextAttributes([ NSFontAttributeName: UIFont(name: "Arial", size: 12)!], for: UIControlState.normal)

【讨论】:

这会更改导航栏文本,但不会更改添加到其中的栏按钮项的文本。 确实如此。我编辑了答案以更改按钮本身的字体【参考方案2】:

斯威夫特 3

另一种更改所有TabBarItems 字体的简单方法是在ViewDidLoad() of UITabBarController 中使用此代码:(无需创建Outlet)

UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "IranSansMobile", size: 15)!], for: UIControlState.normal)

【讨论】:

【参考方案3】:

斯威夫特 5

barButton.setTitleTextAttributes([ NSAttributedString.Key.font: UIFont(name: "Arial", size: 12)!], for: UIControl.State.normal)

【讨论】:

以上是关于使用 Swift (Xcode 6) 更改 BarButtonItem 字体的主要内容,如果未能解决你的问题,请参考以下文章

SWIFT - 改变 UITextView 的高度,xcode 6 GM

Swift:Xcode 6.1.1 更改由代码块执行而不是按钮触发的视图

Swift 2.0,Xcode 7 问题

自定义表格单元格不符合 NilLiteralConvertible Swift Xcode 6 Beta 5

如何在 Swift Xcode 6.4 的 TableView 中显示 Parse 数组

使用元类型值构造类类型“ClassName”的对象必须使用“必需”初始化程序 XCode8 Swift 3 更改