首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xcode 4.5背景图像iPhone 4、4s、5

Xcode 4.5背景图像iPhone 4、4s、5
EN

Stack Overflow用户
提问于 2012-10-25 22:03:15
回答 3查看 16.7K关注 0票数 6

我在我的viewController.m中编写了后台代码:

代码语言:javascript
运行
复制
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"image.png"]];

我有不同图片的正确名称:

代码语言:javascript
运行
复制
image.png for non-retina display (320x480)

image@2x.png for retina display (640x960)

image-568h@2x.png for iPhone 5 (640x1136)

但当我在模拟器中运行它时,它不会在iPhone 5屏幕上获取图像-568h@2x.png,它只会在4s屏幕上获取2x的图像,并将其缩放以适合屏幕...我不知道是否有任何编码来使用图像-568h@2x的iPhone 5屏幕?

即时通信使用Xcode4.5

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-25 22:21:12

iPhone 5是视网膜,就像iPhone 4和4S一样,@2x-image将自动用于所有这些设备。这只是iPhone 5的启动镜像"-568h@2x“。你需要写一些代码来使用不同的镜像,如下所示:

代码语言:javascript
运行
复制
NSString *filename = @"image.png";
CGRect screenRect = [[UIScreen mainScreen] bounds];
if (screenRect.size.height == 568.0f)
    filename = [filename stringByReplacingOccurrencesOfString:@".png" withString:@"-568h.png"];

imageView.image = [UIImage imageNamed:filename];
票数 13
EN

Stack Overflow用户

发布于 2012-10-25 22:13:02

如果您正在尝试使用[UIImage imageNamed:@"image.png"],并且希望从iPhone 5的捆绑包中自动选择image-568h@2x.png,那么它将无法工作。自动拾取仅适用于iPhone 4和4S。

在iPhone 5中,只有名为Default-568h@2x.png的默认图像会被自动拾取。

对于普通图像,如果您有单独的iPhone 5图像,请尝试使用以下代码

代码语言:javascript
运行
复制
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
    // code for 4-inch screen
} else {
    // code for 3.5-inch screen
}
票数 3
EN

Stack Overflow用户

发布于 2012-10-25 22:12:01

我认为,假设您可以将-568h@2x技巧应用于所有图像文件是不正确的。我认为它只适用于Default-568h@2x.png。这是iOS在应用程序启动时在4英寸显示设备上查找的文件,以及在SDK中启用4英寸显示支持的“标志”。例如,一旦包含此特定文件,您的表视图将充满整个屏幕。

我没有读到任何东西建议您可以简单地提供任何带有-568h@2x文件名组件的图像,并让它自动使用。你必须根据屏幕的大小自己来做,例如[UIScreen mainScreen].bounds.size.height

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13070369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档