Status bar的顯示和隱藏

Status bar的顯示和隱藏

  • 如果想要的效果是啟動(dòng)時(shí)隱藏,進(jìn)入軟件之后顯示
    • 可以在設(shè)置中勾選Hide status bar選項(xiàng)
  • View controller-based status bar appearance
    • NO - 代表status bar 的控制權(quán)限給了UIApplication
    • YES(默認(rèn)值) - 代表控制器的優(yōu)先級(jí)比UIApplication高,而且這個(gè)時(shí)候使用UIApplication控制status bar 將沒有效果

最簡(jiǎn)單的方法(我自己認(rèn)為)

  • 在info.plist中配置View controller-based status bar appearance為NO
  • 全部頁(yè)面都隱藏
    • AppDelegateapplication:didFinishLaunchingWithOptions:方法中設(shè)置
    • [UIApplication sharedApplication].statusBarHidden = YES;
  • 有的頁(yè)面需要隱藏
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [UIApplication sharedApplication].statusBarHidden = YES;
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [UIApplication sharedApplication].statusBarHidden = NO;
}
  • 有的頁(yè)面需要改變狀態(tài)欄顏色
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
}

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

控制器自己控制狀態(tài)欄

  • 當(dāng)info.plist中沒有對(duì)View controller-based status bar appearance設(shè)置,默認(rèn)值是YES
/**
 讓當(dāng)前控制器對(duì)應(yīng)的狀態(tài)欄改變顏色,是白色還是黑色
 */
- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

/**
 讓當(dāng)前控制器對(duì)應(yīng)的狀態(tài)欄顯示或者隱藏
 */
- (BOOL)prefersStatusBarHidden
{
    return YES;
}
最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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