为 uinavigationbar 添加颜色
Posted
技术标签:
【中文标题】为 uinavigationbar 添加颜色【英文标题】:Adding colour to uinavigationbar 【发布时间】:2012-02-11 16:43:18 【问题描述】:如何为navigation bar
添加颜色?我需要为ios 4
及更高版本实现此功能。
我想要一种类似于屏幕截图中的颜色:
【问题讨论】:
How to change color of the UINavigationBar & buttons on it? 的可能重复项...忽略已接受的答案 ;-) 您可以为 4 设置一个代码路径,为 5 设置一个代码路径,但不要打开操作系统版本。使用 respondsToSelector 进行测试。在此处查看相关帖子:***.com/questions/7800474/… 【参考方案1】:在您发布的示例中,由于轻微的照明效果,它看起来更像是背景图像。 (中间更亮,你仔细看的话。在 IB 中,我将导航栏设置为黑色透明,并带有以下背景图像。(320 x 44px)
h 文件。
IBOutlet UINavigationBar *navBar;
m 文件“viewDidLoad”函数:
navBar.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"nav"]];
【讨论】:
嗯,我期待像你这样的东西,但你是如何在Nav Bar
和 time - the small bar where it shows the battery life etc
之间获得这么小的空间的?
其实,感谢您注意到这一点。这是我的 mainViewController 中的图像视图。木头应该一直到状态栏后面的顶部,所以我需要修复它,但是在设置图像视图的尺寸时,我只是将 UIImageView 设置为完整的 320x480,然后将 x 设置为 160(中心)和 y 到 220 而不是 240,这会将它推到状态栏后面。状态栏是 20px 高,即使你“垂直填充容器,你仍然需要手动向上移动它,我发现。
你是怎么把 UIButton 变成蓝色的?我想你可能在那里使用了一张图片。我尝试从 IB 添加一个图像,但它最终给出了一个白框,而不是它自己的图像。那么你能说出通过IB添加图片的正确方法吗?【参考方案2】:
在 iOS
// self is a UIViewController
[self.navigationController.navigationBar setTintColor:[UIColor purpleColor]];
一旦您不需要与 iOS 4.x 兼容,您就可以为 UINavigationBar
使用外观代理。这适用于应用程序中的所有导航栏:
[[UINavigationBar appearance] setTintColor:[UIColor purpleColor]];
【讨论】:
如果我只使用 iOS 4 代码,它适用于 iOS 4 和 5 吗? 第一个适用于 iOS 4 和 5,唯一的缺点是应用程序中有多个导航栏,您必须分别为每个导航栏设置颜色。 您也可以通过respondsToSelector进行测试和切换。在此处查看相关示例:***.com/questions/7800474/…以上是关于为 uinavigationbar 添加颜色的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UINavigationBar 中添加垂直渐变颜色?
UINavigationBar 的添加改变了 UITabBar 的背景颜色
模拟 UINavigationBar 标题的阴影偏移和颜色值是多少?