![](/img/trans.png)
[英]Xamarin iOS ObserveOrientationDidChange Landscape or Portrait
[英]Xamarin iOS 10 landscape
我的目标是在单个视图控制器上强制横向方向 ,而不是整个应用程序(确切地说:我想让我的相机视图控制器仅为横向)
我一直在遇到无法使用Xamarin.iOS 强制iOS 10设备上的风景的问题。
我已经通过在视图控制器中覆盖以下方法来在iOS 9或更低版本上工作 ,该控制器应该仅在横向上。 但是,似乎没有在iOS 10上调用这些方法。
public override bool ShouldAutorotate()
{
return true;
}
public override UIInterfaceOrientation PreferredInterfaceOrientationForPresentation()
{
return UIInterfaceOrientation.LandscapeLeft;
}
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
{
return UIInterfaceOrientationMask.Landscape;
}
我也测试过从ViewDidLoad调用这个方法(我不再使用这行了,不知道它是否有任何影响)
//AppDelegate
public void ChangeOri()
{
UIDevice.CurrentDevice.SetValueForKey(new NSNumber((int)UIInterfaceOrientation.LandscapeLeft), new NSString("orientation"));
}
有关可能的解决方法的任何建议吗?
我终于找到了答案,它与iOS 10本身无关。
我在iPad设备上遇到了这个问题。 iOS9或更高版本的iPad已经获得了一项新功能:“多任务处理”。 请参阅此主题以了解更多信息。
关键是,当您的应用程序设置为多任务时,您无法再从代码更改方向。 您必须为整个应用启用全屏模式,以便调用我在上面的问题中发布的代码行。
在你的plist中设置:UIRequiresFullScreen为true。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.