尝试使用iOS8中的外观为所有按钮设置UIButton的字体。谷歌搜索后,苹果似乎已经从操作系统改变了操作方式。在iOS 7中,这本应有效:
UIButton.appearance().titleLabel?.font = UIFont.inviteButtonTitleFont()
但它似乎已经不起作用了。有人知道你现在是怎么做的吗?
Swift 3:
let fontRegular = UIFont(name: "MyCustomRegularFont", size: 17.0)
UILabel.appearance(whenContainedInInstancesOf: [UIButton.self]).font = fontRegular
UIButton.appearance().tintColor = UIColor.red
字体的代理已从UILabel.appearance()中删除,所以这就是为什么不起作用的原因。
在UILabel
上的方法中包含时使用外观
UILabel.appearanceWhenContainedInInstancesOfClasses([UIButton.self]).font = UIFont.inviteButtonTitleFont()
这应该在iOS9中有效,请参阅Swift中出现的答案WhenCainedIn中的iOS8和7解决方案。
(免责声明,我还没有编译代码片段,所以要小心拼写错误)。