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

  • 问题:
  • 如何更改iOS 7中的导航栏颜色?在

    基本上,我想实现类似Twitter导航栏(更新Twitter foriOS7的功能)。我嵌入了视图控制器顶部的导航栏中。我只想把导航栏的颜色改成浅蓝色,同时把工具条放在顶部。我似乎在我的故事板中找不到选项

  • 答案:
  • iOS 7.0中条形图的tintColor行为发生了变化。它不再影响酒吧的背景

    根据文件:

    bartincolorClass Reference

    要应用于导航栏背景的淡色

    @property(nonatomic, retain) UIColor *barTintColor

    讨论

    可用性

    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 Transition Guide

    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;
    }

    编辑