我已经看到了每个问题的答案:
Status bar appear over my view's bounds in iOS 7
Status bar and navigation bar appear over my view's bounds in iOS 7
New iOS 7 statusBar leaves a range 20px in apps compiled in Xcode 5
iOS 7 status bar back to iOS 6 default style in iPhone app?
然而,这些答案似乎都不适合我。我正试图以“黑色不透明”样式显示状态栏,正如我在.plist
中设置的那样。
有没有办法让应用程序继续工作,好像状态栏没有包含在窗口中一样?
我试过这个:
CGFloat statusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;
self.window = [[UIWindow alloc] initWithFrame:CGRectMake(0.0f, statusBarHeight, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - statusBarHeight)];
但statusBarHeight
0
为application:didFinishLaunchingWithOptions:
。手动将其设置为20.0f
似乎只是搞砸UIWindow
而UIViewController
s会高于屏幕。 (另外,手动设置值20.0f感觉很脏)
我错过了什么?
修改
我还应该指出,我使用隐藏UINavigationController
的{{1}}。
编辑2:
在调试或Ad Hoc(测试飞行)版本中,这似乎只是应用程序的问题。 App Store上完全相同的应用程序会显示状态栏。为什么这会影响调试和临时发布?
答案 0 :(得分:1)
将UIViewController.edgesForExtendedLayout
设为UIRectEdge.None