And*_*rey 19 iphone retina-display iphone-5
iPhone 5发布,具有新的屏幕尺寸和分辨率.
当我们使用iPhone 4(视网膜)的图像时,我们只是将"@ 2x"添加到图像名称.任何人都可以告诉我,是否有可能为新的iPhone屏幕添加不同的图像(背景,按钮等)?
第二个问题:我可以在我的应用程序中使用单独的XIB文件:对于旧的iPhone,iPhone新的(如iPhone和iPad)?
谢谢!
Ben*_*ton 50
以下是我的博客中有关此主题的内容:
[UIImage imageNamed:]在视网膜设备上运行时会自动加载@ 2x版本的图像.不幸的是,imageNamed:在iPhone 5上运行时不会自动加载-568h @ 2x版本的图像.
有时这没关系,例如iPhone 4和5上的图标和非全屏图形可能是相同的.但是,如果你有全屏背景图像,或工具栏等的全宽/高度背景图像,你会有问题.你的480高图像很可能会被拉伸(结果可能看起来很可怕).
您可以手动检查屏幕大小并加载正确的图像,如下所示:
UIImage* myImage;
CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f) {
myImage = [UIImage imageNamed:@"myImage-568h.png"];
} else {
myImage = [UIImage imageNamed:@"myImage.png"];
}
Run Code Online (Sandbox Code Playgroud)
有一种方法可以改变UIImage imageNamed,因此它可以自动加载正确的图像.请参阅以下链接了解详情.
更多内容:http://pervasivecode.blogspot.co.uk/2012/09/making-apps-work-on-iphone-5-screen-size.html
编辑:@Sound Blaster和@GrizzlyNetch 是对的,在代码中你应该使用imageNamed:@"myImage-568h.png"],但实际的文件名应该是myImage-568h@2x.png.如果你不这样做,那么比例是不正确的,就像他们说的那样.
rck*_*nes 11
iPhone 5不会引入新的像素密度,因此您可以使用之前使用过的所有视网膜图像.
所有你需要支持iPhone 5的新分辨率是让你的窗口视图.对于大多数视图,如tableview和scrollview,这不会出现任何问题.
此外,不需要为新分辨率添加额外的XIB文件,这也是不受支持的.
只需添加Default-568h@2x.png到您的应用程序包,使iOS 6让您的应用程序占用iPhone 5中的额外空间.
所有本机控件(如选项卡栏)的行为都与您期望的一样.
如果您希望在应用程序中支持iOS4.3和5.*,请确保Use Autolayout在nib设置(界面构建器中的第一个选项卡)中关闭.
然后确保正确设置视图 autoresizingMask
| 归档时间: |
|
| 查看次数: |
17730 次 |
| 最近记录: |