iOS 状态栏隐藏显示设置
Status Bar 隐藏
1. 在info.plist文件实现状态栏全局隐藏
- 在info.plist文件中添加Status bar is initially hidden 设置为 YES,这个是隐藏APP在LunchScreen(欢迎页面)是的状态栏.
在info.plist文件中添加View controller-based status bar appearance 设置为 NO,这个是隐藏 App 在所有 UIViewController 时的状态栏.
注意:
当 Status bar is initially hidden 设置为NO时,不管 View controller-based status bar appearance 设置为 NO 还是 YES ,都是无效的,只有 Status bar is initially hidden 设置为 YES 的时候, View controller-based status bar appearance 才生效.
2.通过代码实现状态栏全局隐藏
- 在 Info.plist 文件中添加 View controller-based status bar appearance 设置为 NO
- 在 AppDelegate 文件中,实现下面方法(在其他 UIViewController 中也有效)
// OC
[UIApplication sharedApplication].statusBarHidden = YES;
// Swift
UIApplication.sharedApplication().statusBarHidden = true
注意:
如果想要通过代码实现状态栏隐藏,必须在 Info.plist 文件中添加 View controller-based status bar appearance ,并且必须设置为 NO ,否则代码不会有任何效果,而且代码只能隐藏 App 在所有 UIViewController 时的状态栏,不能隐藏在 LunchScreen(欢迎界面)时的状态栏.
3.通过代码实现状态栏局部隐藏
上面的方法是全局隐藏,是隐藏 App 在所有 UIViewController 时的状态栏,下面的方法是局部隐藏,是单个 UIViewController 内的隐藏.
- 在 Info.plist 文件中添加 View controller-based status bar appearance 设置为 YES
- 在需要隐藏状态栏的 UIViewController 文件中,加入下面方法:
// OC
- (BOOL)prefersStatusBarHidden {
return YES;
}
// Swift
override func prefersStatusBarHidden() -> Bool {
return true
}
注意:
如果想要通过代码实现某个 UIViewController 状态栏局部隐藏,必须在 Info.plist 文件中添加 View controller-based status bar appearance ,并且必须设置为 YES ,否则代码不会有任何效果.