我想在每个视图控制器中说出他支持哪种方向并将其限制为它们。这就是我试过的:
使用我的old posts之一中的自定义导航控制器,但这似乎不再起作用了。解决方案类似于iOS 6 - (BOOL)shouldAutorotate not getting called for navigation controllers pushed viewControllers
我也尝试了Setting Orientation in Xamarin iOS,但应用程序在RootViewController
上崩溃了。我在这里得到NullReferenceException
。
此外,我从Shri Chakraborty(shrixamarin)的已删除博客中尝试了IOS 8 : Restricting orientation on a View Controller。如果我使用application:supportedInterfaceOrientationsForWindow:
,应用程序也会崩溃,因为RootViewController
为空。该解决方案似乎与How do I restrict orientation per view controller in iOS7 in a navigation controller hierarchy
这些解决方案似乎都不起作用。或者我会错过重要的事情吗?如何限制视图控制器A仅为横向的方向,视图控制器B仅为纵向,视图控制器C可以所有可用方向显示?
答案 0 :(得分:1)
在视图控制器中覆盖GetSupportedInterfaceOrientations()
应该可以解决问题:
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations () {
return UIInterfaceOrientationMask.LandscapeRight;
}
您在此处返回的方向将与应用程序允许的方向(项目属性)或您在应用程序委托中允许的方向相交。因此,请务必在那里指定所有方向或您想要支持的最大集合。
请参阅此处查看documentation。