在 iOS7,UIBarButtonItems 不尊重大胆"做"造型时使用的 UIAppearance 代理

标签: ios
发布时间: 2014/2/22 10:59:39
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

在 iOS7,默认情况下 UIBarButtonItem 用途样式 UIBarButtonItemStylePlain 的 Helvetica 常规粗细字体和粗体重量为 UIBarButtonItemStyleDone。

我的应用程序使用自定义字体,和我用 UIAppearance 代理服务器来实现这一目标:

appearance = @{NSFontAttributeName: [UIFont fontWithName:@"ProximaNova-Regular" size:18.0]};
[[UIBarButtonItem appearance] setTitleTextAttributes:appearance
                                            forState:UIControlStateNormal];

麻烦的是,平原和做我上面指定的常规粗细字体样式按钮的外观代理牌子。

任何想法到 UIBarButtonItem 在怎么使用不同的自定义字体权重款式吗?

解决方法 1:

我知道这是已故的答案,但它可以对别人有帮助:

   UIBarButtonItem *customBarButton =
        [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"CustomTitle", @"This button appears in my smexy ViewController's naviagtion bar")
                                         style:UIBarButtonItemStylePlain
                                        target:self
                                        action:@selector(customButtonDidClick:)];

    NSDictionary *attributes = @{NSFontAttributeName: [UIFont fontWithName:@"TimesNewRomanPS-BoldMT" size:14.0f],
                                 NSForegroundColorAttributeName: [UIColor redColor]}; // here you can add some other keys (especially in iOS 7) to personalize your button title more 

    [customBarButton setTitleTextAttributes:attributes forState:UIControlStateNormal];

    [self.navigationItem setRightBarButtonItem:customBarButton];

编辑::-) 谢谢我的输入错误的检测

官方微信
官方QQ群
31647020