【问题标题】:Images than span entire screen on iPhone 5图像超过 iPhone 5 上的整个屏幕
【发布时间】:2012-10-06 01:12:45
【问题描述】:

我正在创建一个以横向模式显示的应用。我遇到的是我有一个横跨屏幕的图形。我如何用这个来解释 iPhone 和 iPhone 5。我有一个 60px 高的 UIImageView,需要在屏幕上一直拉伸。根据我的阅读,没有命名约定表明我使用的是 iPhone 5 图形。我是否需要制作一张 1136X120(iPhone 5)的图形,一张 960X120(iPhone 4s)和一张 480X60(iPhone 4)的图形。我担心的是,如果我只在 iPhone 5 和 iPhone 4s 上使用 1136X120,它会将 1136 压缩到 960,这是它的工作原理还是我可以做些什么。

【问题讨论】:

    标签: iphone ios xcode autolayout


    【解决方案1】:

    据我所知,iPhone 5 图像没有任何特定的命名约定。取而代之的是,使用与常规图像不同名称的 @2x 图像。然后,在您的应用程序中,检查当前设备是否是 iphone 5 屏幕,如果是,则使用其他图像。我建议将这样的函数添加到类中,然后将该类添加到预编译的头文件 (.pch) 中,以便在整个应用程序中都可以访问它。

    BOOL iPhone5Screen()
    {
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        return NO;
    } else {
        if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
            CGSize result = [[UIScreen mainScreen] bounds].size;
            CGFloat scale = [UIScreen mainScreen].scale;
            result = CGSizeMake(result.width * scale, result.height * scale);
            //
            if(result.height >= 1136){
                return YES;
            } else {
                return NO;
            }
        } else {
            return NO;
        }
    }
    
    }
    

    【讨论】:

    • +1 是的,我早先考虑过,我可以通过编程方式识别 iPhone 5,然后在更宽的图像中替换。似乎如果我有很多图像可以拉伸整个屏幕的宽度,那么它会变得很多工作。我希望在 IB 有办法做到这一点。
    猜你喜欢
    • 2017-05-01
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多