0

我已经使用情节提要制作了我的应用程序,并且我已经在项目选项中设置了 -> 支持的设备方向 -> 所有方向(纵向、横向左侧、横向右侧、倒置),因为我希望视图随着我的设备的轮子旋转。视图由导航控制器中的 Interface Builder(使用 Segue 方法)推送。

现在我有一个视图控制器(TestViewController),它是情节提要的一部分,我想锁定方向(只是肖像)。我已经覆盖了这些方法,但是 TestViewController 像其他方法一样旋转。不调用 ShouldAutorotate,触发 SupportedInterfaceOrientations 但结果与其他视图相同。

public partial class TestViewController : UIViewController {
...
    public override bool ShouldAutorotate()
    {
     return false;
    }

    public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
    {
    return UIInterfaceOrientationMask.Portrait;

    }
...
}

环境

  • 单触 6.06
  • Xcode 4.5.2
  • MonoDevelop 3.05
4

1 回答 1

1

解决方案是像这样在 AppDelegate Supported Interface Orientation 中设置

public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations (UIApplication application, UIWindow forWindow)
        {
            if (forWindow != null && forWindow.RootViewController != null) {
                UINavigationController nav = forWindow.RootViewController as UINavigationController;
                if(nav.VisibleViewController is TestViewController){
                    return UIInterfaceOrientationMask.Portrait;
                }
            }
            return UIInterfaceOrientationMask.All;
        }
于 2013-01-29T14:53:55.167 回答