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

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

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

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

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

当然,如果有人修复了AlternateViews示例代码,给定我的UI层次结构,我也会很感激.

最佳答案 我建议把你的代码换成-didAnimateFirstHalfOfRotationToInterfaceOrientation:

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

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

点赞