无法为突出显示状态设置UIBarButtonItem的标题文本属性

时间:2016-08-10 16:48:10

标签: ios swift uibarbuttonitem

在自定义阶段,我尝试为这两种状态设置应用中使用的UIBarButtonItem个实例的标题属性:UIControlStateNormalUIControlStateHighlighted

对于.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标题属性的任何注意事项。

1 个答案:

答案 0 :(得分:-1)

请检查一下。希望它适合你

https://github.com/shemona-ios/barButtontextChange