ios - 设备方向在 iOS 中无法正常工作

标签 ios objective-c xcode7 orientation landscape-portrait

+(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/

相关文章:

ios - 如何在 iOS 上使用 Storyboard随时调用滑动菜单、任何 View ?

ios - 检测设备是否为 iPhone 5s

ios - Xcode 7 当我禁用项目的位码时会发生什么?

ios - Github 操作 : xcpretty is not found despite being installed

ios - Swift ios 尝试将文件上传到 s3 但文件永远不会上传

java - 相当于 Objective-C 的 Guava Preconditions.checkNotNull(...) 吗?

ios - XCode UI 测试 swizzle API 类方法

ios - 无法使用 XCode 7.0 Beta、iOS 8.3 和 aws-ios-sdk-2.2.0 识别 AWSDynamoDB

ios - 无限旋转 UIView 并暂停/停止动画,保持状态,并从当前状态继续旋转

ios - 如何按值的降序从 firebase 获取数据?