亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

iOS開發(fā)技巧之狀態(tài)欄字體顏色的設(shè)置方法

 更新時間:2018年08月31日 08:32:18   作者:夢想家-mxj  
有時候我們需要根據(jù)不同的背景修改狀態(tài)欄字體的顏色,下面這篇文章主要給大家介紹了關(guān)于iOS開發(fā)技巧之狀態(tài)欄字體顏色的設(shè)置方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧

狀態(tài)欄的字體為黑色:UIStatusBarStyleDefault

狀態(tài)欄的字體為白色:UIStatusBarStyleLightContent

一、在info.plist中,將View controller-based status bar appearance設(shè)為NO

狀態(tài)欄字體的顏色只由下面的屬性設(shè)定,默認為白色:

// default is UIStatusBarStyleDefault
[UIApplication sharedApplication].statusBarStyle

解決個別vc中狀態(tài)欄字體顏色不同的辦法

1、在info.plist中,將View controller-based status bar appearance設(shè)為NO.

2、在app delegate中:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

3、在個別狀態(tài)欄字體顏色不一樣的vc中

-(void)viewWillAppear:(BOOL)animated{
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
}

-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
}

二、在info.plist中,將View controller-based status bar appearance設(shè)為YES,或者沒有設(shè)置。

View controller-based status bar appearance的默認值就是YES。

如果View controller-based status bar appearance為YES。

[UIApplication sharedApplication].statusBarStyle 無效。

用下面的方法:

1、在vc中重寫vc的preferredStatusBarStyle方法。

-(UIStatusBarStyle)preferredStatusBarStyle
{

return UIStatusBarStyleDefault;
}

2、在viewDidload中調(diào)用: [self setNeedsStatusBarAppearanceUpdate];

但是,當(dāng)vc在nav中時,上面方法沒用,vc中的preferredStatusBarStyle方法根本不用被調(diào)用。

原因是, [self setNeedsStatusBarAppearanceUpdate]發(fā)出后,

只會調(diào)用navigation controller中的preferredStatusBarStyle方法,

vc中的preferredStatusBarStyley方法跟本不會被調(diào)用。

解決辦法有兩個:

方法一:

設(shè)置navbar的barStyle 屬性會影響status bar 的字體和背景色。如下。

//status bar的字體為白色

//導(dǎo)航欄的背景色是黑色。

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

//status bar的字體為黑色

//導(dǎo)航欄的背景色是白色,狀態(tài)欄的背景色也是白色。

//self.navigationController.navigationBar.barStyle = UIBarStyleDefault;

方法二:

自定義一個nav bar的子類,在這個子類中重寫preferredStatusBarStyle方法:

MyNav* nav = [[MyNav alloc] initWithRootViewController:vc];

self.window.rootViewController = nav;

@implementation MyNav

- (UIStatusBarStyle)preferredStatusBarStyle

{

UIViewController* topVC = self.topViewController;

return [topVC preferredStatusBarStyle];

}

附:修改狀態(tài)欄的背景顏色 (牽扯到UIWindow的層級關(guān)系)

/*改變狀態(tài)欄的背景顏色,因為狀態(tài)欄的層級比較高,所以按照如下添加就可以出來效果*/
UIView* stateView = [[UIView alloc] initWithFrame:CGRectMake(0, -20, SCREEN_WIDTH, 20)];
[self.navigationController.navigationBar addSubview:stateView];
stateView.backgroundColor = [UIColor purpleColor];

備注: 因為在OC中,都應(yīng)該知道UIWindow有三個層級,如下:

UIKIT_EXTERN const UIWindowLevel UIWindowLevelNormal;
UIKIT_EXTERN const UIWindowLevel UIWindowLevelAlert;
UIKIT_EXTERN const UIWindowLevel UIWindowLevelStatusBar

它們層級的優(yōu)先級的值分別對應(yīng)的是:

UIWindowLevelNormal: 0

UIWindowLevelAlert: 1000

UIWindowLevelStatusBar:2000

(而且UIAlertView的層級優(yōu)先級為1996,UIActionSheet的層級優(yōu)先級為2001)
優(yōu)先級

總結(jié):

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Objective-C 實現(xiàn)2048算法類

    Objective-C 實現(xiàn)2048算法類

    本文給大家介紹的是使用Objective-C 實現(xiàn)的IOS版小游戲2048算法類,十分的實用,有需要的小伙伴可以參考下。
    2015-06-06
  • Objective-C與Swift之間的互相調(diào)用和跳轉(zhuǎn)

    Objective-C與Swift之間的互相調(diào)用和跳轉(zhuǎn)

    這篇文章主要給大家介紹了關(guān)于Objective-C與Swift之間的互相調(diào)用和跳轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • iOS10 適配-Xcode8問題總結(jié)及解決方案

    iOS10 適配-Xcode8問題總結(jié)及解決方案

    這篇文章主要介紹了iOS10 適配-Xcode8問題總結(jié)的相關(guān)資料,這里整理了遇到的幾種問題,并給出解決方案,需要的朋友可以參考下
    2016-11-11
  • iOS sqlite對數(shù)據(jù)庫的各種操作(日常整理全)

    iOS sqlite對數(shù)據(jù)庫的各種操作(日常整理全)

    在IOS中使用Sqlite來處理數(shù)據(jù)。如果你已經(jīng)了解了SQL,那你可以很容易的掌握SQLite數(shù)據(jù)庫的操作。本文給大家介紹iOS sqlite對數(shù)據(jù)庫的各種操作,需要的朋友參考下吧
    2016-03-03
  • 清除WKWebView cookies的方法

    清除WKWebView cookies的方法

    下面小編就為大家?guī)硪黄宄齏KWebView cookies的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • iOS之UITableView計時器的實現(xiàn)方式總結(jié)(NSTimer、DispatchSource、CADisplayLink)

    iOS之UITableView計時器的實現(xiàn)方式總結(jié)(NSTimer、DispatchSource、CADisplayLi

    這篇文章主要給大家介紹了關(guān)于iOS之UITableView計時器的實現(xiàn)方式,其中包括NSTimer、DispatchSource、CADisplayLink等方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-12-12
  • 判斷iPhone的WiFi是否打開的兩種方法

    判斷iPhone的WiFi是否打開的兩種方法

    大家都知道判斷WiFi是否連接可以使用Reachability進行判斷,那么wifi是否打開應(yīng)該怎么判斷呢?下面小編給大家分享兩種完全基于不同思路的方法,需要的朋友參考下
    2016-11-11
  • iOS多媒體音頻(下)-錄音及其播放的實例

    iOS多媒體音頻(下)-錄音及其播放的實例

    本篇文章主要介紹了iOS多媒體音頻(下)-錄音及其播放的實例,非常具有實用價值,需要的朋友可以參考下。
    2016-12-12
  • iOS實現(xiàn)微信分享多張圖片功能

    iOS實現(xiàn)微信分享多張圖片功能

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)微信分享多張圖片功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Objective-C實現(xiàn)無限循環(huán)輪播器

    Objective-C實現(xiàn)無限循環(huán)輪播器

    這篇文章主要介紹了Objective-C實現(xiàn)無限循環(huán)輪播器的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05

最新評論