gpt4 book ai didi

ios - Xcode 6 无法为 iPhone 6 模拟器显示正确的图像大小

转载 作者:可可西里 更新时间:2023-11-01 04:51:29 26 4
gpt4 key购买 nike

我一直在学习本教程 https://www.youtube.com/watch?v=_36Y6rDcKP0关于使用 Image.xcassets 在不同设备上显示全屏图像。创建启动项非常容易,因为占位符清晰显示。但是,我的问题是在如下创建新图像集时。

enter image description here

我在每个placeHolder中放置的图片如下:

  • 1x bg.png (320 x 640)
  • 2x bg@2x.png (640 x 960)
  • 视网膜 4 2x bg-568h@2x.png (640 x 1136)
  • 3x bg@3x.png (2208 x 1242)

我的问题是当我运行 iPhone 6 模拟器时它加载 bg@2x.png (640 x 960) 图像而不是 iPhone 6 的 bg-568h@2x.png (640 x 1136) 图像? (图像被拉伸(stretch))。所有其他图像尺寸对于每个设备都是正确的。在视频教程中,iPhone 6 模拟器确实加载了 bg-568h@2x.png (640 x 1136)。我做错了什么??

最佳答案

经过大量尝试后,我认为这是一个错误。运行 iPhone 6 时,Image.xcassets 应加载 568h@2x.png (640 x 1136)。 Xcode 应该将其放大到 750 X 1334。但它没有,它总是加载 iPhone 4 (320 x 640) 图像。为了解决这个问题,我创建了两组 Image.xcassets(特定于设备),如下所示:

   - backGround.xcassets
- 1x (320 x 640)
- 2x (640 x 960)
- 3x (2208 x 1242)
- //(uncheck 4- Retina)


- backGroundRetina.xcassets
- 2x (640 x 1136)
- //(only iPhone checked)

在(无效)viewDidLoad {

 if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ){

CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width;
if( screenHeight < screenWidth ){
screenHeight = screenWidth;
}

if ( screenHeight > 480 && screenHeight < 736 ){
NSLog(@"RUNNING IPHONE 5 or 6");
[_backGround setImage:[UIImage imageNamed:@"backGroundRetina"]];


} else NSLog(@"THIS IS NOT IPHONE 6");

// [_backGround setImage:[UIImage imageNamed:@"backGround"]]; will be called


}

我确信还有其他方法可以解决这个问题,但这对我有用,我希望它能帮助其他遇到同样问题的人。

关于ios - Xcode 6 无法为 iPhone 6 模拟器显示正确的图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26495594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com