繁体   English   中英

Xamarin iOS 10风景

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM