IOS 7获取错误的状态栏高度

Jac*_*hek 0 statusbar ios swift

我尝试当设备在swift中旋转时,ios 7将获得错误的状态栏高度.我测试了IPad Air(ios 7.0)和IPhone 6(ios 8.2).有没有任何解决方案可以获得正确的状态栏高度?

问题编码(它得到self.view.bounds.size.width):

let status_height = UIApplication.sharedApplication().statusBarFrame.size.height
Run Code Online (Sandbox Code Playgroud)

Leo*_*Leo 7

旋转时状态栏高度会改变,所以

选项1

检查statusBarOrientation第一

UIApplication.sharedApplication().statusBarOrientation.
Run Code Online (Sandbox Code Playgroud)

肖像时使用此功能

let status_height = UIApplication.sharedApplication().statusBarFrame.size.height
Run Code Online (Sandbox Code Playgroud)

横向时使用此

 let status_height = UIApplication.sharedApplication().statusBarFrame.size.width
Run Code Online (Sandbox Code Playgroud)

选项2将其 转换为右坐标在ViewController中,您希望获得高度

     var statusBarFrame = self.view.window?.convertRect(UIApplication.sharedApplication().statusBarFrame, fromView: self.view)
     var height = statusBarFrame?.height
Run Code Online (Sandbox Code Playgroud)