当前位置: 首页 > 知识库问答 >
问题:

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

壤驷建德
2023-03-14

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

基本上,我想实现像推特导航条(更新推特为iOS7也就是说)这样的东西。我嵌入了一个导航条在一个视图控制器的顶部。我想要的只是将导航条的颜色和顶部的实用工具条一起更改为浅蓝色。我似乎在我的故事板中找不到一个选项。

共有3个答案

居星阑
2023-03-14
self.navigationBar.barTintColor = [UIColor blueColor];
self.navigationBar.tintColor = [UIColor whiteColor];
self.navigationBar.translucent = NO;

// *barTintColor* sets the background color
// *tintColor* sets the button's color
郦祯
2023-03-14

做最初的问题——让旧推特的导航条看起来,蓝色背景和白色文本——只需使用Xcode中的界面生成器就很容易做到。

  • 使用文档大纲,选择导航栏。
  • 在属性检查器中,在导航栏组中,将样式从默认更改为黑色。这将导航和状态栏的背景颜色更改为黑色,其文本更改为白色。因此,当应用程序运行时,电池和状态栏中的其他图标和文本将看起来是白色的。
  • 在同一个导航栏组中,将栏颜色更改为您喜欢的颜色。
  • 如果您的导航栏中有栏按钮项,它们仍然会以默认的蓝色显示文本,因此在属性检查器视图组中,将色调更改为白色。

这会让你得到你想要的。下面是一个屏幕截图,可以更容易地看到在哪里进行更改。

请注意,仅更改栏的颜色不会更改导航栏或状态栏中的文本颜色。风格也需要改变。

葛骏
2023-03-14

条形图的tintColor的行为在iOS7.0中已经更改。它不再影响条形图的背景。

从文件中:

barTintColor类引用

要应用于导航栏背景的色调。

@property(nonatomic, retain) UIColor *barTintColor

讨论
除非将“半透明”属性设置为NO,否则此颜色默认为半透明。

可利用性

iOS 7.0及更高版本提供。

声明在
UINavigationBar. h

NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
    // iOS 7.0 or later   
    self.navigationController.navigationBar.barTintColor = [UIColor redColor];
    self.navigationController.navigationBar.translucent = NO;
}else {
    // iOS 6.1 or earlier
    self.navigationController.navigationBar.tintColor = [UIColor redColor];
}

我们还可以使用它来检查iOS版本,如iOS 7 UI过渡指南中所述

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
        // iOS 6.1 or earlier
        self.navigationController.navigationBar.tintColor = [UIColor redColor];
    } else {
        // iOS 7.0 or later     
        self.navigationController.navigationBar.barTintColor = [UIColor redColor];
        self.navigationController.navigationBar.translucent = NO;
    }

使用xib编辑

 类似资料:
  • 我想更改导航栏的颜色,但我不确定是否应该更改色调或背景。我知道iOS 7将采用更为平坦的设计(甚至建议删除渐变),但我很难理解这两种设计。即使我设置了背景色,它也没有任何作用。 在此图像中,背景设置为绿色,但条形图仍为蓝色:

  • 我想要一个半透明的状态栏和导航栏,其他颜色不能像蓝色或白色那样半透明 我的代码 活动 状态栏半透明良好,但导航栏颜色不变。为什么? 导航栏

  • 问题内容: 我正在使用Picker View,允许用户为整个应用程序选择颜色主题。 我计划更改导航栏,背景以及选项卡栏(如果可能)的颜色。 我一直在研究如何执行此操作,但找不到任何Swift示例。谁能给我一个示例代码,我将需要使用该代码来更改导航栏颜色和导航栏文本颜色? 设置了Picker View,我只是在寻找更改UI颜色的代码。 问题答案: 导航栏: 用所需的UIColor替换greenCol

  • 在Android 5.0的指南中,导航栏似乎是可定制的:http://www . Google . com/design/spec/layout/structure . html # structure-system-bars 如何更改导航栏的颜色?我想用白色的。 编辑:在我的资源中,我测试了这种风格: 但是按钮是白色的。我想作为第二个图像相同的渲染器。

  • 在我的应用程序中,我需要更改底部导航栏的颜色。我看了很多帖子,但没有找到解决办法。我正在使用appCompat库。 v21/样式。xml

  • 问题内容: 我正在尝试更改导航器栏的颜色,但是我发现只有导航器是根导航器,这才是不可能的。 我正在尝试: 我所有与导航器控制器有关。但是什么都没有改变。实际上,我试图从情节提要中进行相同的操作,但只有在我处于第一个导航器中时,它才有效。 我试图阅读与此问题有关的所有内容,但一无所获 我可以像这样将任何项目添加到导航栏 问题答案: 实际上,我发现该解决方案将用于: 然后在每个视图控制器中,我们需要另