我有一个带有几个标签的标签栏设置。第一个 tabitem 是 viewcontroller,它以编程方式加载纵向布局的 xib。当用户旋转手机时,它会自动呈现一个横向布局的模式视图。这种机制运作良好。
当设备旋转到纵向模式时,它会关闭模式视图,并且底部会显示一个标签栏。我希望我的其他一些标签栏项目(例如滚动视图和 web 视图)在设备旋转时自动旋转为横向。
我已经实现了一个名为 RotateTabBarViewController 的类,它包含 shouldAutorotateToInterfaceOrientation 方法并检查 selectedViewController 上相同方法的值。因此,如果我的 webview 中的 shouldAutorotateToInterfaceOrientation 方法返回 true,则视图将按预期旋转。
这就是问题所在。当旋转视图处于横向模式时,标签栏仍然可见,这意味着用户可以单击第一项的图标。单击第一个项目时,它知道它处于横向模式并再次自动加载模式视图。唯一的问题是视图在屏幕上偏移。
我正在寻找一种解决方案,将模态视图重新调整到它应该在的位置。我不确定它是需要重新对齐的主视图还是模式视图。
以下链接包含该概念的演示。
http://www.veryniceindustries.com/rotation_demo.zip
- 将设备旋转到纵向
- 选择项目二
- 将设备旋转到横向(需要一些帮助来重新对齐此视图)
- 选择项目一(模式出现横向,但偏移)
任何帮助将不胜感激。
最好的,豪伊