+(CGFloat)maxTextWidth
{
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone)
{
if(UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation))
{
return 220.0f;
}
else
{
return 400.0f;
}
}
else
{
if(UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation))
{
return 400.0f;
}
else
{
return 700.0f;
}
}
}
当我的设备按照上述方法处于纵向时,它会返回纵向值,但问题是在纵向时有时它会返回纵向值,有时它会返回横向值,但我的设备始终处于纵向。
在你的 if 语句中检查状态栏方向而不是设备方向..
+(CGFloat)maxTextWidth
{
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone)
{
if([UIApplication sharedApplication].statusBarOrientation==UIInterfaceOrientationPortrait)
{
return 220.0f;
}
else
{
return 400.0f;
}
}
else
{
if([UIApplication sharedApplication].statusBarOrientation==UIInterfaceOrientationPortrait)
{
return 400.0f;
}
else
{
return 700.0f;
}
}
}
关于ios - 设备方向在 iOS 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37022414/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |