为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

莫回无 2019-07-31 15:18:43
如何在iOS 7中更改导航栏颜色?如何在iOS 7中更改导航栏颜色?基本上我想要实现像Twitter Nav Bar这样的东西(更新的Twitter iOS7就是这样)。我嵌入了一个导航栏view controller。我想要的是将导航栏颜色更改为浅蓝色以及顶部的实用工具栏。我似乎找不到我的选择storyboard。
查看完整描述

3 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

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) {

    // 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 7 UI Transition Guide中,我们也可以使用它来检查iOS版本


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


查看完整回答
反对 回复 2019-07-31
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

通过在Xcode中使用Interface Builder,可以很容易地完成原始问题 - 获取旧Twitter的Nav Bar外观,蓝色背景和白色文本。

  • 使用文档大纲,选择导航栏。

  • 在“属性”检查器的“导航栏”组中,将“样式”从“默认”更改为“黑色”。这会将导航和状态栏的背景颜色更改为黑色,将其文本更改为白色。因此,当应用程序运行时,状态栏中的电池和其他图标和文本将显示为白色。

  • 在同一导航栏组中,将条形色调更改为您喜欢的颜色。

  • 如果导航栏中有条形按钮项目,它们仍将以默认的蓝色显示其文本,因此在“属性”检查器的“视图”组中,将“色调”更改为“白色”。

这应该会得到你想要的。这是一个屏幕截图,可以更容易地看到进行更改的位置。

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


查看完整回答
反对 回复 2019-07-31
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞


self.navigationBar.barTintColor = [UIColor blueColor];

self.navigationBar.tintColor = [UIColor whiteColor];

self.navigationBar.translucent = NO;


// *barTintColor* sets the background color

// *tintColor* sets the buttons color


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 719 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信