UINavigationController 标题外观设置器不起作用?
Posted
技术标签:
【中文标题】UINavigationController 标题外观设置器不起作用?【英文标题】:UINavigationController Title appearance setters not working? 【发布时间】:2014-05-08 15:43:35 【问题描述】:我正在尝试全局设置 UINavigationBar 标题的样式。我已经成功地将外观对象与许多 UI 控件一起使用,但由于某种原因,这些标题不会改变……我正在尝试设置字体、字体颜色和大小,但两者都不起作用。我的代码如下。
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont
appFontOfSize:24], NSFontAttributeName,
[UIColor whiteColor], NSForegroundColorAttributeName, nil];
[[UINavigationBar appearance] setTitleTextAttributes:attributes];
【问题讨论】:
这段代码你在哪里写的? 【参考方案1】:我在我的应用程序(ios 7)中做了类似的事情。我使用了以下代码:
NSDictionary * navBarTitleTextAttributes = @ NSForegroundColorAttributeName : [UIColor whiteColor],
NSFontAttributeName: [UIFont systemFontOfSize:18.0f]
;
[[UINavigationBar appearance] setTitleTextAttributes:navBarTitleTextAttributes];
实际上,它几乎是相同的代码,只是符号不同。但也许它是这样工作的?你在哪里设置外观?我直接在 AppDelegate 类中定义。
【讨论】:
实际上我发现我已经直接覆盖了这些设置......不过你发布的代码工作正常。感谢您的帮助:)【参考方案2】:我在 iOS 6 和 7 上使用的代码是:
[appearance setTitleTextAttributes:@
UITextAttributeTextColor : [UIColor blackColor],
UITextAttributeTextShadowColor : [UIColor lightGrayColor],
];
注意UITextAttribute*
的用法
【讨论】:
以上是关于UINavigationController 标题外观设置器不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
带有主 UINavigationController 和详细 UINavigationController 的 UISplitViewcontroller
UINavigationController:调整大小动画中的标题跳转
UIPopoverController 中的 UINavigationController:设置标题
带有 UINavigationController 的 UITabBarController,在 hidesBottomBarWhenPushed 上隐藏 UINavigationController
在 UINavigationController 内的 UITabBarcontroller 中添加 UINavigationController?