setTitleTextAttributes在屏幕上查看后无法正常工作. iOS 11

我花了一整天的时间试图改变UIBarButtonItem的颜色,现在我认为这是一个iOS 11的bug,除非有人能告诉我它的设计.

我可以使用此代码更改文本的颜色

[self.refreshButton setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor orangeColor]} forState:UIControlStateNormal];

如果我将代码添加到viewWillAppear:动画函数它可以正常工作,但是如果你将它添加到viewDidAppear:动画它不起作用.

它似乎适用于iOS 9模拟器,但不适用于iOS 11.

在iOS 11中,这方面有什么变化吗?

最佳答案 如果您只想更改UIBarButtonItem的标题颜色,则可以设置tintColor属性而不是setTitleTextAttributes:.如果您希望所有UIBarButtonItem具有相同的标题颜色,则可以设置工具/导航栏的tintColor.

点赞