在自定义阶段,我尝试为这两种状态设置应用中使用的UIBarButtonItem
个实例的标题属性:UIControlStateNormal
和UIControlStateHighlighted
。
对于.Normal
按钮的状态,以下代码可以正常工作:
barButton.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.greenColor(), NSFontAttributeName: UIFont.systemFontOfSize(18.0)], forState: .Normal)
但是,如果我将state参数更改为.Highlighted
,则代码无效。首先我想也许当前的应用程序出了问题,所以我从头开始创建了一个新项目,只有一个工具栏和一个UIBarButtonItem
,但问题仍然存在。
即使使用外观代理设置所有项目的标题属性也无效,因此下一代码不执行任何操作:
// Has no effect
UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.redColor(), NSFontAttributeName: UIFont.systemFontOfSize(28.0)], forState: .Highlighted)
// This one has no effect too
UIBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.greenColor(), NSFontAttributeName: UIFont.systemFontOfSize(28.0)], forState: .Highlighted)
我错过了什么或者是Apple的错误吗?文档没有提及有关突出显示状态的UIBarButtonItem
标题属性的任何注意事项。