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= 中的设备方向检查(LandscapeLeft 和 LandscapeRight) ]
并在每个控制器中编写相同的代码
-(BOOL)shouldAutorotate{
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
return YES;
}
else
{
return NO;
}
}
这对我有用。现在我在 iPhone 中只有一个人像模式,在 iPad 中只有一个风景和人像模式。
我有这样的结构
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= 中的设备方向检查(LandscapeLeft 和 LandscapeRight) ]
并在每个控制器中编写相同的代码
-(BOOL)shouldAutorotate{
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
return YES;
}
else
{
return NO;
}
}
这对我有用。现在我在 iPhone 中只有一个人像模式,在 iPad 中只有一个风景和人像模式。