iOS 狀態(tài)欄顏色

項(xiàng)目中使用

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

會(huì)報(bào)警告
'setStatusBarStyle:' is deprecated: first deprecated in iOS 9.0 - Use -[UIViewController preferredStatusBarStyle]
解決辦法:
消除這個(gè)警告需要使用preferredStatusBarStyle這個(gè)API,
在項(xiàng)目中的info.plist文件里添加View controller-based status bar appearance,并修改成YES


WeChat144aeb38f19be4bb8afcbfb089c30d89.png

定義一個(gè)UIStatusBarStyle變量

@property (nonatomic, assign) UIStatusBarStyle myStatusBarStyle;

設(shè)置狀態(tài)欄默認(rèn)顯示為黑色

- (void)viewDidLoad {
    [super viewDidLoad];
    //默認(rèn)狀態(tài)欄為黑色
    self.myStatusBarStyle = UIStatusBarStyleDefault;
}

自定義某個(gè)控制器中的顏色

重寫(xiě)這個(gè),返回你想要的狀態(tài)
- (UIStatusBarStyle)preferredStatusBarStyle {
    NSLog(@"改變狀態(tài)欄顏色");
    return self.myStatusBarStyle;
}

更新?tīng)顟B(tài)

///監(jiān)聽(tīng)scrollView的滾動(dòng)事件
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    if (scrollView == self.myTableView) {
        CGFloat offsetY = scrollView.contentOffset.y;
        if (offsetY > 0) {
            //[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
            self.myStatusBarStyle = UIStatusBarStyleDefault;
            [self setNeedsStatusBarAppearanceUpdate];
        } else {
            //[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
            self.myStatusBarStyle = UIStatusBarStyleLightContent;
            [self setNeedsStatusBarAppearanceUpdate];
        }
    }
}

這樣就可以修改狀態(tài)欄的顏色

當(dāng)視圖控制器的狀態(tài)欄屬性的返回值發(fā)生變化時(shí),會(huì)被調(diào)用。如果在一個(gè)block塊中調(diào)用它,那么更改將與block塊的其余部分一起被動(dòng)畫(huà)化。
- (void)setNeedsStatusBarAppearanceUpdate

如果想在啟動(dòng)的時(shí)候就隱藏狀態(tài)欄
在Info.plist中增加一個(gè)配置即可:Status bar is initially hidden 為YES
這里的YES表示在app初始化(啟動(dòng))的時(shí)候就隱藏狀態(tài)欄。
當(dāng)然,在啟動(dòng)圖顯示完畢后狀態(tài)欄還是隱藏的。如果想重新顯示狀態(tài)欄,補(bǔ)上下面代碼即可:
[UIApplication sharedApplication].statusBarHidden = NO;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容