状态栏的更改:
更改状态栏样式,在VC中覆盖preferredStatusBarStyle方法
在viewDidLoad或viewWillAppear中调用setNeedsStatusBarAppearanceUpdate方法
如果VC在导航控制器中,需要在导航控制器中覆盖childViewControllerForStatusBarStyle此方法,返回系统要回调preferredStatusBarStyle的VC,返回nil代表导航控制器。
UIViewControllerBasedStatusBarAppearance,YES:由VC控制状态栏;默认是YES;
iOS7 UI变化
是否可以扩展由VC的edgesForExtendedLayout和extendedLayoutIncludesOpaqueBars共同决定,前者决定方向,后者是否可以扩展;
edgesForExtendedLayout: 决定VC可以往哪个扩展。UIRectEdgeTop就是往顶部扩展;可以位操作;默认是all
extendedLayoutIncludesOpaqueBars:是否针对不透明的bar扩展(半透明的可以扩展);为NO的话,不透明的Bar不进行扩展;默认是NO
导航栏是否透明由navigationBar的barStyle和translucent决定。
UIBarStyleDefault = 0,
UIBarStyleBlack = 1,
UIBarStyleBlackOpaque = 1, // Deprecated. Use UIBarStyleBlack
UIBarStyleBlackTranslucent = 2, // Deprecated. Use UIBarStyleBlack and set the translucent property to YES
automaticallyAdjustsScrollViewInsets
可以自动调整scrollView的insets来是scrollview能够适应导航栏的位置,默认为YES。
详见这里
网友评论