(七十)Xcode5及以上對於狀態列和導航欄樣式的設定方法
阿新 • • 發佈:2019-02-17
【狀態列】
在Xcode5以前,狀態列是通過UIApplication單例來管理的,而在此後,預設情況下狀態列通過控制器來管理,而且如果控制器有NavigationController,那麼設定狀態列的操作在NavigationController中進行,呼叫的方法為:
- (UIStatusBarStyle)preferredStatusBarStyle;
如果要讓狀態列仍然通過單例設定,可以在info.plist中加入一個鍵值:
View controller-based status bar appearance,值為NO即可。
這樣就可以通過UIApplication單例來設定狀態列了:
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
【導航欄】
導航欄的主題屬於全域性設定,通過UINavigationBar的appearance拿到NavigationBar,再設定樣式:
UINavigationBar *navBar = [UINavigationBar appearance]; NSMutableDictionary *attrs = [NSMutableDictionary dictionary]; attrs[NSForegroundColorAttributeName] = [UIColor whiteColor]; attrs[NSFontAttributeName] = [UIFont systemFontOfSize:16]; [navBar setTitleTextAttributes:attrs];