iphone 中的锁定方向问题

Locking orientation issue in iphone

我有这样的结构

LoginViewController-->Root

LoginViewController-->UINav---->HomeViewController

现在我必须只为 iPhone 将此方向锁定为纵向,并且必须为 iPad

提供两个方向

对于登录控制器,我这样写

-(BOOL)shouldAutorotate{

    if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
    {
        return YES;
    }
    else
    {
    return NO;
    }
}

这工作正常。我在 iPhone 中只有纵向,在 iPad

中有纵向和横向

但是同样的一段代码写在HomeViewController 中是行不通的。 是不是内嵌了HomeViewConroller的Navigation Controller的问题

嗯。我自己解决了这个问题。发布关于该怎么做的解决方案,因为它也可能对其他人有所帮助。 只需取消选中 Target->General[=12= 中的设备方向检查(LandscapeLeftLandscapeRight) ]

并在每个控制器中编写相同的代码

-(BOOL)shouldAutorotate{

    if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
    {
        return YES;
    }
    else
    {
        return NO;
    }
}

这对我有用。现在我在 iPhone 中只有一个人像模式,在 iPad 中只有一个风景和人像模式。