iOS导航栏与状态栏的坑

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

上面那个方法不是设置导航栏的样式,为什么加了这句话,状态栏颜色也变了。

typedef NS_ENUM(NSInteger, UIBarStyle) {
    UIBarStyleDefault          = 0,
    UIBarStyleBlack            = 1,
    
    UIBarStyleBlackOpaque      = 1, // Deprecated. Use UIBarStyleBlack
    UIBarStyleBlackTranslucent = 2, // Deprecated. Use UIBarStyleBlack and set the translucent property to YES
}

UIBarStyleDefault这个是默认样式
UIBarStyleBlack这个是黑色不透明,这里黑色透明什么鬼啊。 为什么我设置了之后 是白色。

阅读 4k
1 个回答

苹果API中写到的后两种样式已经弃用了,都让用UIBarStyleBlack,刚才测试过了,设置成UIBarStyleBlack之后导航栏是黑色半透明的,如果需要黑色不透明,你需要在设置navigationBar.translucent = NO;不过这样设置后状态栏也看不到了。。。另外,设置了导航样式之后我的状态栏还是原来那样,没有变化 。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题