[相关信息:Xcode7.2 ; Swift2.0]
首先来回顾一下上次的横屏效果图
有没有发现什么问题?我倒是看到它顶部的时间栏没有了,这个问题从我刚开始建立项目的时候就想把它解决,然后各种百度,bing,google。然后找到的都是几年前的解决方案,像什么在plist里面设置什么什么属性啊,在AppDelegate里面写隐藏显示代码啊...我只能说疯了......
前面说的这些方法呢,都是旧系统的解决方案,现在最新系统都已经更新到IOS9.3了,所以把以前的方法拿过来用,可能有些过时,也可能有些low
所以我们要遵从官方的建议,用它们推荐的方法来解决这个问题
首先我们打开我们的ViewController.swift文件,然后在这个类里面重写两个方法:
class ViewController: UIViewController, UIGestureRecognizerDelegate {
override func prefersStatusBarHidden() -> Bool {
return false //可以通过条件判断来控制它的显示与隐藏
//false -> 不隐藏 ; true -> 隐藏
}
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyle.LightContent //可以通过条件判断来控制它的风格
//LightContent -> 白色;Default -> 黑色
}
}
//注意:一定要放在 *class ViewController* 类里面,并且加上重写方法override的关键字
//注意2:每个.swift页面都需要重写这个方法,不然没有重写的页面不会有效果。
//[- 求教:怎么样才能只重写一次就可以完成这个效果? -]
这样,跟ViewController.swift绑定了的页面就会根据我们设置的方法来隐藏或显示 Status Bar 了
我们来运行看下效果 (Command+R)
成功显示,你也可以把代码改成true和Default看看效果。👋👋👋