我有一个带有几个标签的标签栏设置。第一个tabitem是viewcontroller,它以编程方式加载以纵向布局的xib。当用户旋转手机时,它会自动呈现以横向布局的模态视图。这种机制很好。
当设备旋转到纵向模式时,它会取消模态视图,并在底部显示一个标签栏。我希望我的其他一些tabbar项目(如scrollview和webview)在旋转设备时自动旋转到横向。
我实现了一个名为RotateTabBarViewController的类,它包含shouldAutorotateToInterfaceOrientation方法,并检查selectedViewController上相同方法的值。因此,如果我的webview中的shouldAutorotateToInterfaceOrientation方法返回true,则视图将按预期旋转。
这是问题所在。当旋转视图处于横向模式时,标签栏仍然可见,这意味着用户可以单击第一个项目的图标。单击第一个项目时,它知道它处于横向模式并再次自动加载模态视图。唯一的问题是视图在屏幕上偏移。
我正在寻找一种解决方案,将模态视图重新调整到应有的位置。我不确定这是需要重新调整的主视图还是模态视图。
以下链接包含该概念的演示。
http://www.veryniceindustries.com/rotation_demo.zip
非常感谢任何帮助。
最佳, 豪伊
答案 0 :(得分:0)
您是否考虑在viewController#1上实现viewWillAppear方法,并更正视图的框架?
或者在orientationChanged或updateItemOneView方法的itemOneViewController中处理它?</ p>
PS:感谢提供源代码,因为年轻的Obj-C程序员总是很高兴看到别人如何处理问题。