iPhone风景导航后退动作显示垂直视图过渡?

Cod*_*gun 3 iphone transition landscape view

我有一个常规的UINavigationController,我将一系列UIViewController推入堆栈.push控制器的视图转换是水平动画转换:[self.navigationController pushViewController:controller animated:YES];

但是,当我按下导航栏上的"后退"按钮时,视图过渡动画是垂直的(垂直下降前一个控制器/视图).

我似乎没有找到任何方法使这个水平.这仅在横向模式下发生.纵向模式转换都发生在水平翻转过渡.

任何人都可以对此有所了解吗?

谢谢

Ale*_*ung 6

我有同样的问题.当我回到第一个视图时,我看到了一个垂直动画,而不是正常的水平动画.

我找到了基于Apple的NavBar示例代码的答案.我编辑了示例代码,将"shouldAutorotateToInterfaceOrientation"添加到所有视图控制器,并使其返回YES.

当我运行它时,我注意到按下"后退"时使用了正确的动画.

固定:

好像你需要导航控制器内使用自己的子类的UIViewController,并添加shouldAutorotateToInterfaceOrientation.据推测,默认的UIViewController没有返回正确的方向,因此使用了错误的动画.

背景:

我检查了所有我的代码和苹果之间的区别,我发现我的导航控制器是UINavigationController的,在那里我完成所有工作的子类.默认情况下,IB在其中添加了一个UIViewController,我就把它留下了.我注意到NavBar示例代码有自己的类集(MainViewController).所以我做了Xcode中创建一个新的UIViewController子类没有厦门国际银行,然后在IB身份面板类选项设置.

我希望这是有道理和有帮助的!