Xcode 9.3中如何在XIB里隐藏视图状态栏?
解决Xcode 9.3中无法通过XIB模拟指标隐藏状态栏的问题
我之前也踩过这个坑!Xcode 9.3对状态栏的处理逻辑做了调整,原来的「顶部栏模拟指标设为None」的方法不再生效,给你几个亲测有效的解决办法:
方法一:在视图控制器代码中强制隐藏
这是最稳妥的方式,直接在对应的ViewController类里重写状态栏偏好设置方法:
override var prefersStatusBarHidden: Bool { return true }
如果是Objective-C项目,代码如下:
- (BOOL)prefersStatusBarHidden { return YES; }
这个方法会强制当前控制器的状态栏隐藏,不受XIB设置的影响。
方法二:通过XIB的视图控制器属性设置
打开你的XIB文件,选中顶部的ViewController对象(不是视图本身),然后在右侧的「Attributes Inspector」(属性检查器)里找到「Status Bar」选项,直接选择「Hidden」。这样就能在XIB预览和运行时都隐藏状态栏了。
方法三:全局设置隐藏状态栏
如果你想让整个APP都隐藏状态栏,可以修改项目的Info.plist文件:
- 添加键
UIStatusBarHidden,设置值为YES - 添加键
UIViewControllerBasedStatusBarAppearance,设置值为NO
不过这个方法是全局生效的,如果某些页面需要显示状态栏的话就不太适用了,按需选择。
内容的提问来源于stack exchange,提问作者Svetoslav
相关产品推荐
相关产品推荐

