当用户将设备旋转到横向时,我希望为我的一个ViewControllers提供备用视图(想想iPod中的CoverFlow)我已经使用AlternateViews示例代码实现了这一点(监听设备轮换通知).
但是,我注意到了一个错误.我有一个相当复杂的UI – TabViewController / UINavigationController.在一个使用AlternateViews代码并切换到另一个也有AlternateView的选项卡的ViewController上,通知似乎有竞争力.这意味着它将显示AlternateView,但第一个选项卡的视图控制器不是第二个.如果我退出导航层次结构,因此只存在一个AlternateView,那就没问题了.
最后,我不需要一个完全独立的ViewController用于横向模式.实际上,这实际上使事情变得更复杂,因为我需要它具有相同的导航栏和IBActions.我需要的是在UIWebView上加载设备旋转(如果尚未加载)并隐藏当前视图(UITableView).这也可以缓解上面的错误.
我可以设置代码来创建/显示/隐藏UIWebView和UITableView.但是,我不确切知道在哪里或何时这样做 – willAutoRotateToOrientation?任何对委托方法和伪代码的引用都将非常感激.
当然,如果有人修复了AlternateViews示例代码,给定我的UI层次结构,我也会很感激.
最佳答案 我建议把你的代码换成-didAnimateFirstHalfOfRotationToInterfaceOrientation:
这样,现有视图开始可见旋转,然后换入新视图并完成旋转.