我正在开发一款iOS应用。我的应用程序委托将我的视图控制器加载到窗口并正确显示,但有一个问题:我的视图控制器上的视图在Y轴上没有下移足够远,状态栏剪裁了我的顶部视图。我更改了我的视图控制器的XIB文件以适应此问题,所以现在我的所有视图都从Y轴下移20像素。初始加载时,一切看起来都很好。当我旋转时,我的视图比应该低20像素(由于我的布局更改以适应第一次加载)。我想知道的是如何更好地处理视图控制器内的定位以处理状态栏高度。
我正在开发一款iOS应用。我的应用程序委托将我的视图控制器加载到窗口并正确显示,但有一个问题:我的视图控制器上的视图在Y轴上没有下移足够远,状态栏剪裁了我的顶部视图。我更改了我的视图控制器的XIB文件以适应此问题,所以现在我的所有视图都从Y轴下移20像素。初始加载时,一切看起来都很好。当我旋转时,我的视图比应该低20像素(由于我的布局更改以适应第一次加载)。我想知道的是如何更好地处理视图控制器内的定位以处理状态栏高度。
您的解决方案取决于您创建项目的方式。
如果您在创建项目时使用了“视图为基础的应用程序”模板,则您的视图控制器应该位于MainWindow.xib中。只要在该NIB中为视图控制器启用状态栏属性(即选择灰色或黑色),您的视图控制器应该能够在初始启动时和旋转设备后正常工作。
如果您在创建项目时使用了“基于窗口的应用程序”模板,则您需要向应用程序委托的didFinishLaunchingWithOptions方法添加以下代码行:
myViewController.view.frame = window.screen.applicationFrame;
这在某种程度上神奇地使得事情正确地设置好了。