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