导航栏与状态栏

// 具体的控制器设置状态栏样式
override var preferredStatusBarStyle: UIStatusBarStyle{
     return .lightContent
}

// 如果控制器被添加到导航控制器中,上段代码失效,需要在导航控制器中添加以下代码
// 导航控制器不再统一设置状态栏样式,交给具体的控制器设置,这样,具体控制器再设置状态栏样式
override var childViewControllerForStatusBarStyle: UIViewController?{
        return topViewController
}


/**************************************************************/

// 以下代码是在导航控制器中的
// 导航控制器统一设置状态栏样式
override var preferredStatusBarStyle: UIStatusBarStyle{
        return .lightContent
}
    
// 导航控制器不再统一设置状态栏样式,交给具体的控制器设置,设置了此属性,上面的属性失效
override var childViewControllerForStatusBarStyle: UIViewController?{
        return topViewController
}


/**************************************************************/

// 如果导航控制器未声明交由具体控制器设置状态栏样式,且导航控制器和具体控制器都设置了状态栏样式,那么导航控制器的优先级比较高

 

posted @ 2017-01-19 11:10  小课桌  阅读(262)  评论(0编辑  收藏  举报