免费开源的iOS开发学习平台

UINavigationController介绍:5-barStyle属性

barStyle属性介绍

UINavigationBar中的barStyle属性用于定制导航栏的样式,其有两种取值,分别是默认(UIBarStyleDefault)和黑色(UIBarStyleBlack),黑色的样式大家可以参考微信的导航栏样式,背景是黑色的,字体是白色的。

@property(nonatomic,assign) UIBarStyle barStyle;
typedef NS_ENUM(NSInteger, UIBarStyle) {
    UIBarStyleDefault          = 0,
    UIBarStyleBlack            = 1,
}

示例代码

下方的示例代码中,创建了一个导航控制器对象,然后通过修改其navigationBar属性的barStyle属性可以对比导航栏的整体样式的显示差异。

  • 新建一个Single View Application应用

  • 在AppDelegate.m中添加如下代码,此时我们设置导航栏的整体样式为UIBarStyleBlack

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  
    UIViewController *navRootVC = [[UIViewController alloc] init];
    navRootVC.view.backgroundColor = [UIColor whiteColor];
    
    UINavigationController *navVC = [[UINavigationController alloc] initWithRootViewController:navRootVC];
    navVC.navigationBar.barStyle = UIBarStyleBlack;
        
    navRootVC.title = @"99iOS.com";
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.rootViewController = navVC;
    [self.window makeKeyAndVisible];
    
    return YES;
}

运行结果:

  • 我们修改导航栏的样式为UIBarStyleDefault,进行对比
navVC.navigationBar.barStyle = UIBarStyleDefault;

运行结果:

示例代码

https://github.com/99ios/9.2.5