【问题标题】:Using UIAppearance for separate UI elements将 UIAppearance 用于单独的 UI 元素
【发布时间】:2013-02-20 19:09:42
【问题描述】:

我想使用UIAppearance将我的应用程序中所有UIButtons的字体大小设置为15,并将我的应用程序中所有UILabels的字体大小设置为10。这是我有什么:

UIFont *dinMediumFont = [UIFont fontWithName:@"DINPro-Medium" size:15];
[[UILabel appearanceWhenContainedIn:[UIButton class], nil] setFont:dinMediumFont];

UIFont *dinBoldFontBig = [UIFont fontWithName:@"DINPro-Bold" size:10];
[[UILabel appearanceWhenContainedIn:nil] setFont:dinBoldFontBig];

但是,我希望 UINavigationBars 中按钮的字体更小,我尝试添加以下内容:

UIFont *smallerFont =[UIFont fontWithName:@"DINPro-Medium" size:15];
[[UILabel appearanceWhenContainedIn:[UIButton class], [UINavigationBar class], nil] setFont:smallerFont];

但字体保持默认...为什么会这样?

【问题讨论】:

  • 你有什么问题?到目前为止,您已经发表了声明并发布了一些代码。
  • 抱歉,刚刚编辑了。

标签: ios uikit uiappearance


【解决方案1】:

导航栏中的按钮不是UIButton 的实例,也不是它的任何子类;相反,它们是UIBarButtonItem 的实例。

UIBarButtonItem 的文本实际上不是 UILabel 实例:您的第二个 sn-p 需要设置 @987654327,而不是在 UILabel 的外观-UIButton 代理上设置属性UIBarButtonItem 的外观代理上的 @ 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-30
    • 2010-12-04
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    相关资源
    最近更新 更多