我有这样的结构
LoginViewController-->Root
LoginViewController-->UINav---->HomeViewController
现在我必须将此方向锁定为仅适用于 iPhone 的纵向并且必须为 iPad 提供两种方向
对于登录 Controller ,我这样写
-(BOOL)shouldAutorotate{
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
return YES;
}
else
{
return NO;
}
}
这工作正常。我在 iPhone 上只有纵向,在 iPad 上有纵向和横向
但是同样的一段代码写在HomeViewController中是行不通的。 是不是内嵌了HomeViewConroller的Navigation Controller的缘故。
最佳答案
嗯。我自己解决了这个问题。发布关于该怎么做的解决方案,因为它也可能对其他人有所帮助。 只需取消选中Target->General
中的设备方向检查(LandscapeLeft 和LandscapeRight)
并在每个 Controller 中编写相同的代码
-(BOOL)shouldAutorotate{
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
return YES;
}
else
{
return NO;
}
}
这对我有用。现在我在 iPhone 上只有一个肖像模式,在 iPad 上只有一个风景模式和一个肖像模式。
关于ios - iphone 中的锁定方向问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30830204/