iPhone:一些观点景观其他肖像

时间:2009-12-26 06:49:15

标签: iphone cocoa-touch alignment modal-dialog tabbar

我有一个带有几个标签的标签栏设置。第一个tabitem是viewcontroller,它以编程方式加载以纵向布局的xib。当用户旋转手机时,它会自动呈现以横向布局的模态视图。这种机制很好。

当设备旋转到纵向模式时,它会取消模态视图,并在底部显示一个标签栏。我希望我的其他一些tabbar项目(如scrollview和webview)在旋转设备时自动旋转到横向。

我实现了一个名为RotateTabBarViewController的类,它包含shouldAutorotateToInterfaceOrientation方法,并检查selectedViewController上相同方法的值。因此,如果我的webview中的shouldAutorotateToInterfaceOrientation方法返回true,则视图将按预期旋转。

这是问题所在。当旋转视图处于横向模式时,标签栏仍然可见,这意味着用户可以单击第一个项目的图标。单击第一个项目时,它知道它处于横向模式并再次自动加载模态视图。唯一的问题是视图在屏幕上偏移。

我正在寻找一种解决方案,将模态视图重新调整到应有的位置。我不确定这是需要重新调整的主视图还是模态视图。

以下链接包含该概念的演示。

http://www.veryniceindustries.com/rotation_demo.zip

  • 将设备旋转为纵向
  • 选择第二项
  • 将设备旋转为横向(需要一些帮助重新调整此视图)
  • 选择项目一(横向显示模态,但偏移)

非常感谢任何帮助。

最佳, 豪伊

1 个答案:

答案 0 :(得分:0)

您是否考虑在viewController#1上实现viewWillAppear方法,并更正视图的框架?

或者在orientationChanged或updateItemOneView方法的itemOneViewController中处理它?<​​/ p>

PS:感谢提供源代码,因为年轻的Obj-C程序员总是很高兴看到别人如何处理问题。