我正在开发iOS应用程序。我的应用程序委托将我的视图控制器加载到窗口上并正确显示,除了一个警告:我的视图控制器上的视图在Y轴上的位置不够远,状态栏会截断我的顶视图。我改变了我的视图控制器的XIB文件以适应这个,所以现在我所有的视图都沿着Y轴开始20个像素。在初始加载时,一切看起来都很好。当我旋转时,我的视图比他们应该低20个像素(由于我的布局更改以适应第一次加载)。我想知道的是如何更好地处理视图控制器中的位置以处理状态栏高度。iOS视图控制器在旋转后移动
4
A
回答
1
我已经通过不直接/编程方式将视图渲染到窗口中来解决了这个问题。我所做的是创建一个RootViewController,它在两个方向上放置并正确对齐,并在RootViewController中具有所有其他视图。
发生这种情况的原因是应用程序的窗口始终是整个屏幕(包括顶部的状态栏)。如果您尝试填写窗口,则必须处理并补偿状态栏和其他镶边。如果您管理根视图内的所有视图,会更容易。
0
您的解决方案取决于您如何创建项目。
如果您在创建项目时使用了基于视图的应用程序模板,那么您将在MainWindow.xib中拥有您的视图控制器。假设您在该NIB中为您的视图控制器启用了状态栏属性(即选择灰色或黑色),则您的视图控制器应该在最初(启动时)以及旋转设备后正常工作。
如果使用的是基于窗的应用程序模板,当您创建的项目,你必须将下面的代码行添加到您的应用程序委托的didFinishLaunchingWithOptions:
myViewController.view.frame = window.screen.applicationFrame;
不知何故神奇地把事情成立正确。
相关问题
- 1. iOS 6旋转:推视图控制器
- 2. 旋转视图控制器
- 3. 旋转视图控制器
- 4. Swift手动旋转视图控制器
- 5. ios6视图控制器自动旋转
- 6. 当Modal View Controller旋转时,iOS旋转视图控制器
- 7. 如何限制视图控制器在ios 8中的旋转?
- 8. 旋转superview iphone后移动子视图?
- 9. iOS中的视图控制器与旋转之间的转换
- 10. 在iOS 6视图控制器的旋转不正确
- 11. 非全屏视图控制器强制旋转IOS
- 12. iPhone视图控制器视图向下移动20像素时旋转横向
- 13. 动画旋转视图IOS
- 14. 视图控制器上旋转
- 15. 多视图控制器和旋转
- 16. 视图控制器不旋转
- 17. iOS:将视图旋转应用于模态视图下的视图控制器
- 18. 父视图控制器不会在提供子视图控制器时旋转
- 19. iOS只旋转其中一个子视图控制器
- 20. 如何在导航控制器中自动旋转子视图
- 21. 在视图控制器之间切换时自动旋转
- 22. 容器控制器和iOS 6旋转
- 23. 如何在推动导航控制器后移动视图?
- 24. 在视图旋转时移动对象
- 25. 嵌入导航控制器后,视图将不会旋转
- 26. 子视图控制器旋转,同时父视图控制器不
- 27. iOS:在当前模态视图控制器后面切换视图控制器?
- 28. iOS:如何在另一个视图向其转动时旋转视图控件?
- 29. 如何处理ios 8中每个视图控制器中的自动旋转?
- 30. 不要自动旋转视图控制器,但显示UIAlertView旋转