图像超过 iPhone 5 上的整个屏幕

Posted

技术标签:

【中文标题】图像超过 iPhone 5 上的整个屏幕【英文标题】:Images than span entire screen on 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,这是它的工作原理还是我可以做些什么。

【问题讨论】:

【参考方案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 有办法做到这一点。

以上是关于图像超过 iPhone 5 上的整个屏幕的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android和iPhone上拍摄占据整个屏幕的图像?

iphone的旋转视图不占用整个屏幕

iFrame 比 iPhone 6 上的整个屏幕更宽

在横向屏幕上旋转不是 iPhone 5 和 iPhone 6 上的视图

iPhone 模拟器不显示 iphone 5 兼容图像

Iphone 5屏幕分辨率问题[关闭]