我有一个以纵向模式打开的iPad应用程序,但当我切换到另一个视图时,我需要强制定位到横向,以便用户意识到他们需要将屏幕方向物理移动到横向,然后当它们离开时这个视图我需要将方向强制回到肖像。
我可以看到ShouldAutorotateToInterfaceOrientation(UIInterfaceOrientation toInterfaceOrientation),如果相信正确只是限制视图可能的方向,但将其设置为一个方向(例如UIInterfaceOrientation.LandscapeRight)不会强制方向改变。
我已经看到了一些关于强制View使用this.View.Transform.Rotate(...)进行旋转的其他建议,但似乎对我没用。
只是想知道是否有人有任何建议或能够指出我正确的方向?
由于
答案 0 :(得分:1)
首先,将ShouldAutorotateToInterfaceOrientation
设置为仅支持横向。
然后使用此hack强制更改方向:
var c = new UIViewController ();
PresentModalViewController (c, false);
DismissModalViewControllerAnimated (false);
答案 1 :(得分:1)
您的观点是否全部显示在一个uinavigationcontroller中?
如果他们是,那么我担心的答案是你无法达到你想要的目的 - 请参阅完整的解释,包括Apple开发人员文档的链接:How to constrain autorotation to a single orientation for some views, while allowing all orientations on others?
如果您确实希望达到所需的效果,那么可能会切换到使用其他“父母”来查看您的所有子视图 - 例如以模态显示它们?