2012-07-18 48 views
3

我有一个以纵向模式打开的iPad应用程序,但当切换到另一个视图时,我需要强制横向显示方向,以便用户意识到他们需要物理移动屏幕方向风景,然后当他们离开这个视图时,我需要强制重定向到肖像。在不同视图上旋转IPad屏幕方向

我可以看到ShouldAutorotateToInterfaceOrientation(UIInterfaceOrientation toInterfaceOrientation),它如果认为正确只是限制了可能用于看法,但这设置为一个方向(例如UIInterfaceOrientation.LandscapeRight)不会强制方向来改变方向。

我见过一些关于强制视图旋转使用this.View.Transform.Rotate(...)但似乎不适用于我的其他建议。

只是想知道是否有人有任何建议或能够指出我在正确的方向吗?

感谢

回答

1

是你的看法所有单个的UINavigationController内显示?

如果是的话,恐怕答案是,你不能达到你正在寻找的东西 - 看到一个完整的解释,包括链接到苹果开发者文档上:How to constrain autorotation to a single orientation for some views, while allowing all orientations on others?

如果你想为了达到你正在寻找的效果,那么也许切换到使用一些其他的“父母”为你的所有孩子的意见 - 例如以模态方式显示它们?

1

首先,设置ShouldAutorotateToInterfaceOrientation只支持横向。 然后用这个黑客给力方向改变:

var c = new UIViewController(); 
PresentModalViewController (c, false); 
DismissModalViewControllerAnimated (false); 
+0

感谢您的支持。它似乎正确地旋转页面,但是当我转动并旋转iPad时,页面再次旋转,并且不合时宜,并且似乎无法恢复,因为每次旋转iPad时它都会一直移动。我使用上面的代码,然后将UIViewController推到一个navigationController上来显示视图。 – Gavin 2012-07-18 13:51:10

+0

手动强制旋转后,您是否从ShouldAutorotateToInterfaceOrientation返回正确的值? – 2012-07-19 08:17:11