Xamarin.ios 在不同视图上旋转IPad屏幕方向

Xamarin.ios 在不同视图上旋转IPad屏幕方向,xamarin.ios,Xamarin.ios,我有一个iPad应用程序,在纵向模式下打开,但当我切换到另一个视图时,我需要强制方向为横向,以便用户意识到他们需要实际将屏幕方向移动到横向,然后当他们离开此视图时,我需要强制方向回到纵向 我可以看到ShouldAutorotateToInterfaceOrientation(UIInterfaceOrientation到InterfaceOrientation),如果认为正确,它只会限制视图可能的方向,但将其设置为一个方向(例如UIInterfaceOrientation.LandscapeRi

我有一个iPad应用程序,在纵向模式下打开,但当我切换到另一个视图时,我需要强制方向为横向,以便用户意识到他们需要实际将屏幕方向移动到横向,然后当他们离开此视图时,我需要强制方向回到纵向

我可以看到ShouldAutorotateToInterfaceOrientation(UIInterfaceOrientation到InterfaceOrientation),如果认为正确,它只会限制视图可能的方向,但将其设置为一个方向(例如UIInterfaceOrientation.LandscapeRight)不会强制更改方向

我看到了一些关于使用此.View.Transform.rotate(…)强制视图旋转的其他建议,但似乎对我不起作用

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


谢谢

首先,将
ShouldAutorotateToInterfaceOrientation
设置为仅支持横向方向。 然后使用此技巧强制改变方向:

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

您的视图是否都显示在单个uinavigationcontroller中

如果是的话,那么我担心答案是你无法实现你所期望的目标-请参阅完整的解释,包括指向苹果开发者文档的链接:


如果您确实想达到您想要的效果,那么可以切换到使用其他“父视图”来显示所有子视图,例如,以模式显示它们?

谢谢。它似乎可以正确地旋转页面,但当我再次实际旋转iPad时,页面会再次旋转,并且失去同步,并且似乎无法恢复,因为每次我旋转iPad时,页面都会不断移动。我正在使用上面的代码,然后将我拥有的UIViewController推到navigationController上以显示视图。手动强制旋转后,是否从ShouldAutorotateToInterfaceOrientation返回正确的值?