【问题标题】:UIBarButtonItem appearance proxy setting font attributes not working in iOS 11UIBarButtonItem 外观代理设置字体属性在 iOS 11 中不起作用
【发布时间】:2018-04-12 19:38:38
【问题描述】:

iOS 11 设置 UIBarButtonItem 字体的外观代理机制似乎无法完全正常工作。 (它在 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 应用模板创建一个新应用。在上面添加代码sn-p:

didFinishLaunchingWithOptions

【问题讨论】:

  • 酷!您能否提供足够的信息以便我们重现/测试?

标签: ios objective-c uikit


【解决方案1】:

您忘记设置Highlighted 样式。

[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict UIControlStateHighlighted];

【讨论】:

    猜你喜欢
    • 2018-04-05
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多