在 iOS 中为不同的 UIViewController 设置不同的 UINavigatiobar 颜色?
Posted
技术标签:
【中文标题】在 iOS 中为不同的 UIViewController 设置不同的 UINavigatiobar 颜色?【英文标题】:Set Different UINavigatiobar color for different UIViewController in iOS? 【发布时间】:2014-12-06 11:31:03 【问题描述】:我有一个带有 3 个 UIViewController 的示例项目,我想更改每个 Viewcontroller 的 UINavigationbar 颜色。
我尝试在 ViewDidAppear 方法中使用此代码,但它没有改变。
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed: @"bg.png"]
forBarMetrics:UIBarMetricsDefault];
【问题讨论】:
【参考方案1】:事实上,您的代码是为导航栏设置背景的,这是真的。但是如果你想为每个 Viewcontroller 导航栏设置颜色,在 ViewController1(比如你的第一个视图控制器)中添加 ViewDidAppear 方法
[self.navigationController.navigationBar setBarTintColor:[UIColor greenColor]];
在 ViewController2(比如你的第二个视图控制器)中添加 ViewDidAppear 方法
[self.navigationController.navigationBar setBarTintColor:[UIColor blueColor]];
然后浏览这些控制器,你会看到导航栏的背景颜色会改变。
但您的问题可能是没有设置 ViewController 自定义类,您可以从身份检查器中进行设置。
【讨论】:
以上是关于在 iOS 中为不同的 UIViewController 设置不同的 UINavigatiobar 颜色?的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 中为不同的 UIViewController 设置不同的 UINavigatiobar 颜色?
是否可以在一个应用程序中为不同的事物打开和关闭不同的通知? (iOS、安卓)
在 iOS 5 中为 UINavigationBar 设置不同的背景图片