似乎用于设置UIBarButtonItem字体的iOS 11外观代理机制不能完全正常工作。 (它在iOS 10中表现得如预期的那样)。
我想知道这是不是一个错误,或者有某种不同的方式来做到这一点。
我的代码:
NSDictionary *barButtonAppearanceDict = @{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Light" size:24], NSForegroundColorAttributeName: [UIColor purpleColor]};
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateNormal];
基本上,代码似乎有效,按钮字体的样式适当。但是,当用户点击按钮时,按下按钮时样式将恢复。
这是一段视频:
https://www.dropbox.com/s/hqgpbnlq6gw884p/UIBarButtonItem%20Interaction.mov?dl=0
要重新制作,请使用Master-Detail应用模板创建新应用。在上面添加代码段:
didFinishLaunchingWithOptions
答案 0 :(得分:2)
您忘记设置Highlighted
样式。
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict UIControlStateHighlighted];