我已经使用storyboard创建了我的应用程序,并且我已经设置了项目选项 - >支持的设备方向 - >所有方向(纵向,横向左,横向右,上下颠倒),因为我希望视图旋转为我的设备轮。观点被推动 NavigationController中的Interface Builder(带Segue方法)。
现在我有一个View Controller(TestViewController),它是故事板的一部分,我想锁定Orientation(只是Portrait)。我已经覆盖了那些方法,但TestViewController像其他方法一样旋转。如果未调用ShouldAutorotate,则会触发SupportedInterfaceOrientations,但结果与其他视图相同。
public partial class TestViewController : UIViewController {
...
public override bool ShouldAutorotate()
{
return false;
}
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
{
return UIInterfaceOrientationMask.Portrait;
}
...
}
环境
答案 0 :(得分:1)
解决方案是在AppDelegate中设置支持的接口方向,如下所示
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;
}