UINavigationBar ios8 的 UIAppearance
Posted
技术标签:
【中文标题】UINavigationBar ios8 的 UIAppearance【英文标题】:UIAppearance for UINavigationBar ios8 【发布时间】:2015-05-12 10:54:37 【问题描述】:目前在我的应用程序中,我已经实现了自定义视图来代替 UINavigationBar。但是有14-15个屏幕。所以我反复为每个屏幕创建了那个顶视图。
因此,在寻找解决方案以避免这种重复时。我遇到了 UIAppearance 的概念。但我不知道如何实现它。我也了解了它的一些基本概念,但我仍然很困惑。
我的顶视图对于每个屏幕都有所不同。就像在 4-5 屏幕中一样,有两个按钮(左侧的后退按钮和右侧的呼叫按钮),中间有一个标签。
然后在其他4-5个屏幕中有两个按钮(左侧的取消按钮和右侧的呼叫按钮),中间有一个标签。
然后在其他2-3个屏幕中有两个按钮(左侧菜单按钮和右侧呼叫按钮),中间有一个标签和图标。
谁能告诉我如何使用 UIAppearance 来实现它? 提前致谢!
【问题讨论】:
你能展示一些你已经尝试过的代码吗? 那么你想用 UIAppearence 改变什么? 据我了解,他想用 UIAppearance 在他的 UINavigationBar 中设置他的 UIButton,这是不可能的。 好的。明白你的意思了。所以使用 UIAppearance 我只能设置 Bar 的背景颜色。然后是标题的字体样式、颜色等...我无法使用 UIAppearance 添加按钮。我理解正确吗? 【参考方案1】:您不能通过 UIAppearance 设置按钮。如果您在每个页面上设置 titleTextAttributes(例如字体、大小和颜色),您可以通过 UINavigationBar 外观来实现,如下所示:
[[UINavigationBar appearance] setTitleTextAttributes:attributes];
属性指针是一个 NSDictionary,其中包含您的 textAttributes(NSFontAttributeName、NSForegroundColorAttributeName 等)
【讨论】:
感谢您的回答。以上是关于UINavigationBar ios8 的 UIAppearance的主要内容,如果未能解决你的问题,请参考以下文章
UINavigationBar 外观 addSubview 在 iOS 8 中不起作用
当 MPMoviePlayerController 退出全屏时 UINavigationBar 错位(ios 8 问题)
iOS 8 中 UITableViewController 中的透明 UINavigationBar