1. 程式人生 > >(七十)Xcode5及以上對於狀態列和導航欄樣式的設定方法

(七十)Xcode5及以上對於狀態列和導航欄樣式的設定方法

【狀態列】

在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];