【问题标题】:UIBarButtonItem style plain change fontUIBarButtonItem 样式普通更改字体
【发布时间】:2013-10-16 14:52:48
【问题描述】:

改变

NSDictionary * barButtonAppearanceDict = @{UITextAttributeFont : font};
    [[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateNormal];

在使用普通时不影响 UIBarButtonItem...

如何更改普通样式 UIBarButtonItem 的字体

这仍然适用于 iOS6

【问题讨论】:

    标签: ios cocoa-touch ios6 uibarbuttonitem uibarbuttonitemstyle


    【解决方案1】:

    但这对我有用(使用普通的 BarButtonItem),刚刚测试过:

    [self.myBarButtonItem setTitleTextAttributes:
     [NSDictionary dictionaryWithObjectsAndKeys:
      [UIFont fontWithName:@"Helvetica" size:22.0],NSFontAttributeName,
      nil]forState:UIControlStateNormal];
    

    对于使用外观代理,你可以试试这个:

     NSDictionary *attrDict = [NSDictionary dictionaryWithObject: [UIFont fontWithName:@"Helvetica" size:22.0] forKey: UITextAttributeFont];
    
    [[UIBarButtonItem appearance] setTitleTextAttributes: attrDict
                                            forState: UIControlStateDisabled];
    [[UIBarButtonItem appearance] setTitleTextAttributes: attrDict
                                            forState: UIControlStateNormal];
    

    你确定你在AppDelegate- 类中实现了这个吗? (例如在didFinishLaunchingWithOptions-方法中)

    【讨论】:

    • 确实将 NSFontAttributeName 与 [UIBarButtonItem 外观] 一起使用,但似乎不起作用
    【解决方案2】:

    我在 appdelegate 中设置了以下内容,效果很好:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        [[UIBarButtonItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"Avenir" size:21.0]} forState:UIControlStateNormal];
    
    }
    

    【讨论】:

      猜你喜欢
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多