iOS 7 – 仅为Xamarin内置的应用程序显示纵向视图

我正在Xamarin中开发iOS应用程序,我有一个登录屏幕作为我的第一个视图,我想只显示为肖像,其余的可以做横向或其他任何东西。

由于这是在C#中,这些是我在ViewController重写的方法,但视图仍然在我的iPhone上旋转

 public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations () { return UIInterfaceOrientationMask.Portrait; } public override bool ShouldAutorotate () { return false; } 

我可能错过了一些非常简单但我无法让它工作的东西。

我也试图使用AutoLayout,如果这有任何区别。

首先确保您已在常规设置中检查了所有方向: 在此处输入图像描述

并且在任何UIViewController您只希望纵向模式添加以下代码段:

 -(BOOL)shouldAutorotate { return NO; } -(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskAll; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return UIInterfaceOrientationIsPortrait(interfaceOrientation); } 

@ user1049099我正在使用Xamarin和UIViewController ,我设法强制肖像,但这只适用于iPhone。 在Ipad上,如果以横向模式启动应用程序,它会卡住。

 [MonoTouch.ObjCRuntime.Since (7, 0)] public override bool ShouldAutorotate () { return false; } public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations () { return UIInterfaceOrientationMask.Portrait; } public override UIInterfaceOrientation PreferredInterfaceOrientationForPresentation () { return UIInterfaceOrientation.Portrait; } 

当手动调用这三个函数时,即使在Ipad上不是这种情况,它们也会返回false,Portrait和Portrait(按顺序)。