【发布时间】:2017-09-12 23:51:10
【问题描述】:
我的目标是在单个视图控制器上强制横向方向,而不是整个应用程序(确切地说:我想让我的相机视图控制器仅是横向的)
我遇到了无法使用 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"));
}
对可能的解决方法有什么建议吗?
【问题讨论】:
-
你想做什么?
-
我想在单个视图控制器上强制横向。我更新了我的问题更准确,ty!
-
你能看懂客观的c代码吗?
-
不太好,但我可以试一试。尽管如此,代码必须是可翻译的并且可以在 xamarin 中运行
-
如果有任何疑问问我试试这个:stackoverflow.com/a/24928474/3901620
标签: c# ios xamarin orientation landscape