0

我已经看到了每个问题的答案:

在 iOS 7 中,状态栏出现在我的视图边界上

在 iOS 7 中,状态栏和导航栏出现在我的视图边界上

新的 iOS 7 状态栏在 Xcode 5 编译的应用程序中留下 20px 的范围

iOS 7 状态栏在 iPhone 应用程序中回到 iOS 6 默认样式?

但是,这些答案似乎都不适合我。我正在尝试以“黑色不透明”样式显示状态栏,就像我在.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在. 并且手动设置它似乎只是搞砸了s会比屏幕高。(另外,手动设置值 20.0f 感觉很脏)0application:didFinishLaunchingWithOptions:20.0fUIWindowUIViewController

我错过了什么?

编辑

我还应该指出,我正在使用UINavigationController隐藏它的UINaviationBar.

编辑2:

这似乎只是应用程序在调试或 Ad Hoc(试飞)版本中的问题。App Store 上完全相同的应用程序会按应有的方式显示状态栏。为什么这会影响调试和临时发布?

4

1 回答 1

1

设置UIViewController.edgesForExtendedLayoutUIRectEdge.None

扩展布局的边缘

于 2013-09-19T20:04:16.147 回答