旋转时横向模式的iPhone备用视图

时间:2011-02-03 01:55:30

标签: iphone ios4 uiviewcontroller

当用户将设备旋转到横向时,我希望为我的一个ViewControllers提供备用视图(想想iPod中的CoverFlow)我已经使用 AlternateViews 示例代码实现了这一点(收听设备轮换通知)。

但是,我注意到了一个错误。我有一个相当复杂的UI - TabViewController / UINavigationController。在一个使用 AlternateViews 代码的ViewController上切换到另一个也有 AlternateView 的选项卡时,通知似乎有竞争力。这意味着它将显示 AlternateView ,但第一个选项卡的视图控制器不是第二个。如果我返回离开导航层次结构,因此只存在一个AlternateView,那就没关系了。

最后,我不需要一个完全独立的ViewController用于横向模式。实际上,这实际上使事情变得更复杂,因为我需要它具有相同的导航栏和IBActions。我需要的是在UIWebView上加载设备旋转(如果尚未加载)并隐藏当前视图(UITableView)。这也可以缓解上面的错误。

我可以设置代码来创建/显示/隐藏UIWebView和UITableView。但是,我不确切知道在何时何地这样做 - willAutoRotateToOrientation?任何对委托方法和伪代码的引用都将非常感激。

当然,如果任何人对 AlternateViews 示例代码都有修复,那么根据我的UI层次结构,我也会很感激。

1 个答案:

答案 0 :(得分:2)

我建议把你的代码换成-didAnimateFirstHalfOfRotationToInterfaceOrientation:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

这样,现有视图开始可见旋转,然后换入新视图并完成旋转。