ios 去掉底部状态栏_iOS状态栏隐藏及显示问题终极解决方案
在iOS開發中,我們難免可能會遇到操作狀態欄的情況,最近抽點時間研究了下。其中包括:狀態欄的隱藏及顯示,狀態欄的顏色,屏幕旋轉時狀態欄的適配
方案總結
在Info.plist 加 Status bar is initially hidden
在Info.plist 加 View controller-based status bar appearance
使用代碼全局設置
@property(readwrite, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden NS_DEPRECATED_IOS(2_0, 9_0, "Use -[UIViewController prefersStatusBarHidden]") __TVOS_PROHIBITED;
使用代碼單獨控制器設置
(BOOL)prefersStatusBarHidden NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED; // Defaults to NO
感覺各種方法特別亂,有一些可能是歷史原因,如:UIApplication 全局設置的方法在iOS 9后已經不推薦使用。
操作方式
這里暫把代碼全局設置的方式忽略不計。
啟動界面的狀態欄隱藏及顯示(沒有添加默認是 顯示)
Status bar is initially hidden YES隱藏 NO顯示
App界面狀態欄隱藏及顯示(沒有添加默認是顯示)
View controller-based status bar appearance 的設置必須在 Status bar is initially hidden 為YES
YES顯示 NO隱藏
在當個界面對狀態欄隱藏及顯示(沒有添加默認是 顯示)
重寫此方法,返回 YES隱藏 NO顯示
- (BOOL)prefersStatusBarHidden {
return YES;
}
必須保證View controller-based status bar appearance 置為YES的情況下
感覺好😓,果斷把各種情況列出來一一揭破。
情況分類和Demo
啟動界面顯示狀態欄 + 全部界面顯示狀態欄
不做任何操作,默認即可 Demo
啟動界面顯示狀態欄 + 全部界面隱藏狀態欄
在Info.plist 加 View controller-based status bar appearance 設YES
全部控制器重寫prefersStatusBarHidden 返回YES Demo
啟動界面顯示狀態欄 + 界面自定義狀態欄的顯示和隱藏
在Info.plist 加 View controller-based status bar appearance 設YES
在需要隱藏的控制器重寫prefersStatusBarHidden 返回YES
在需要顯示的控制器重寫prefersStatusBarHidden 返回NO(或者不重寫)Demo
啟動界面隱藏狀態欄 + 全部界面顯示狀態欄
在Info.plist 加 Status bar is initially hidden 設YES Demo
啟動界面隱藏狀態欄 + 全部界面隱藏狀態欄
在Info.plist 加 Status bar is initially hidden 設YES
在Info.plist 加 View controller-based status bar appearance 設 NODemo
啟動界面隱藏狀態欄 + 界面自定義狀態欄的顯示和隱藏
在Info.plist 加 Status bar is initially hidden 設YES
在Info.plist 加 View controller-based status bar appearance 設YES(或者不加)
在需要隱藏的控制器重寫prefersStatusBarHidden 返回YES
在需要顯示的控制器重寫prefersStatusBarHidden 返回NO(或者不重寫)
Demo
聲明
感謝收看,有任何疑問和建議可在下方留言,歡迎Github點Star😁,本文發布于梁大紅的技術Blog,轉載注明出處即可。
總結
以上是生活随笔為你收集整理的ios 去掉底部状态栏_iOS状态栏隐藏及显示问题终极解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云图科技,长沙VR全景拍摄用什么设备?
- 下一篇: 小程序实现播放器功能