猿问

如何在iOS 7中更改导航栏颜色?

如何在iOS 7中更改导航栏颜色?

如何在iOS 7中更改导航栏颜色?

基本上我想要实现像Twitter Nav Bar这样的东西(更新的Twitter iOS7就是这样)。我嵌入了一个导航栏view controller。我想要的是将导航栏颜色更改为浅蓝色以及顶部的实用工具栏。我似乎找不到我的选择storyboard



莫回无
浏览 724回答 3
3回答

holdtom

tintColor在iOS 7.0中,for栏的行为已发生变化。它不再影响酒吧的背景。从文档:barTintColor 类参考应用于导航栏背景的色调颜色。@property(nonatomic, retain) UIColor *barTintColor讨论默认情况下,此颜色为半透明,除非您将半透明属性设置为NO。可用性适用于iOS 7.0及更高版本。在UINavigationBar.h中声明码NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];if ([[ver objectAtIndex:0] intValue] >= 7) {&nbsp; &nbsp; // iOS 7.0 or later&nbsp; &nbsp;&nbsp; &nbsp; self.navigationController.navigationBar.barTintColor = [UIColor redColor];&nbsp; &nbsp; self.navigationController.navigationBar.translucent = NO;}else {&nbsp; &nbsp; // iOS 6.1 or earlier&nbsp; &nbsp; self.navigationController.navigationBar.tintColor = [UIColor redColor];}在iOS 7 UI Transition Guide中,我们也可以使用它来检查iOS版本if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {&nbsp; &nbsp; &nbsp; &nbsp; // iOS 6.1 or earlier&nbsp; &nbsp; &nbsp; &nbsp; self.navigationController.navigationBar.tintColor = [UIColor redColor];&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; // iOS 7.0 or later&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; self.navigationController.navigationBar.barTintColor = [UIColor redColor];&nbsp; &nbsp; &nbsp; &nbsp; self.navigationController.navigationBar.translucent = NO;&nbsp; &nbsp; }编辑 使用xib

30秒到达战场

通过在Xcode中使用Interface Builder,可以很容易地完成原始问题 - 获取旧Twitter的Nav Bar外观,蓝色背景和白色文本。使用文档大纲,选择导航栏。在“属性”检查器的“导航栏”组中,将“样式”从“默认”更改为“黑色”。这会将导航和状态栏的背景颜色更改为黑色,将其文本更改为白色。因此,当应用程序运行时,状态栏中的电池和其他图标和文本将显示为白色。在同一导航栏组中,将条形色调更改为您喜欢的颜色。如果导航栏中有条形按钮项目,它们仍将以默认的蓝色显示其文本,因此在“属性”检查器的“视图”组中,将“色调”更改为“白色”。这应该会得到你想要的。这是一个屏幕截图,可以更容易地看到进行更改的位置。请注意,仅更改条形色调不会更改导航栏或状态栏中的文本颜色。风格也需要改变

肥皂起泡泡

self.navigationBar.barTintColor = [UIColor blueColor];self.navigationBar.tintColor = [UIColor whiteColor];self.navigationBar.translucent = NO;// *barTintColor* sets the background color// *tintColor* sets the buttons color
随时随地看视频慕课网APP
我要回答