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

iOS 7-仅为Xamarin内置的应用程序显示纵向视图,ios,uiviewcontroller,xamarin,landscape-portrait,Ios,Uiviewcontroller,Xamarin,Landscape Portrait,我正在Xamarin中为iOS开发一个应用程序,我有一个登录屏幕作为我的第一个视图,我只想显示为纵向视图,其余的可以做横向或其他任何操作 由于这是在C#中,这些是我在我的ViewController中重写的方法,但是视图仍然在我的iPhone上旋转 public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations () { return UIInterfaceOrientationMask.Portr

我正在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;
}

手动调用这三个函数时,它们会返回false、纵向和纵向(按顺序),即使在Ipad上不是这样。

您好,谢谢您的回复,我有这些函数,但xamarin是c#格式的,但它似乎仍在旋转。“通用应用程序”有什么区别吗?我不认为它对“通用应用程序”有什么区别。bcz对于通用应用程序,它与XIB不同,但它们的类实现保持不变。我只是在我的模拟器上尝试了这个,但它绝对不起作用,即使是iPhone模拟器。