图像超过 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上拍摄占据整个屏幕的图像?