簡體   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