【问题标题】:Xcode 6 not displaying correct image size for iPhone 6 simulatorXcode 6 没有为 iPhone 6 模拟器显示正确的图像大小
【发布时间】:2014-12-17 04:52:17
【问题描述】:

我一直在关注本教程https://www.youtube.com/watch?v=_36Y6rDcKP0 使用 Image.xcassets 在不同设备上显示全屏图像。由于 placeHolders 清楚地显示,因此创建启动项非常容易。但是,我的问题是在创建一个新的图像集时,如下所示。

我在每个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) 图像? (图像被拉伸)。所有其他图像尺寸对于每个设备都是正确的。在视频教程中,iPhone 6 模拟器确实加载了 bg-568h@2x.png (640 x 1136)。我做错了什么??

【问题讨论】:

  • 我也有同样的问题,如果你找到了解决办法,请告诉我

标签: ios iphone xcode


【解决方案1】:

有人在与此类似的另一个问题中发表评论以添加启动屏幕文件。在基本上尝试了所有内容之后,我添加了一个启动屏幕文件并且一切正常。它与您在项目文件中设置应用程序图标和启动图像的位置相同。

根据Apple,“您使用启动 XIB 或故事板文件来表明您的应用程序在 iPhone 6 Plus 或 iPhone 6 上运行。”我假设这是导致它开始提取正确图像的原因,否则它不会将其视为正确的手机。

【讨论】:

    【解决方案2】:

    在玩了很多之后,我相信这是一个错误。运行 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)
    

    在 (void)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
    
    
    }
    

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

    【讨论】:

      【解决方案3】:

      正在拉伸 2 倍图像以适应增加的屏幕尺寸,如果您为图标和初始屏幕使用单独的 3 倍图像,则图像不会被拉伸,广告会正确显示

      更多细节...iPhone 6 Plus resolution confusion: Xcode or Apple's website? for development

      【讨论】:

      • iPhone 6plus 没问题 - 我的 iphone6 有问题。
      【解决方案4】:

      @3x 适用于 iPhone6 +,bg-568@2x 适用于retina4 试试 bg-667@2x

      希望对你有帮助!

      【讨论】:

      • iPhone 6 plus 没问题。我的问题是 iPhone 6。我相信它应该显示 bg-568h@2x.png (640 x 1136) 图像而不是 2x bg@2x.png (640 x 960)图像
      • iPhone 6 分辨率为 750 X 1334,应命名为 bg-667@2x。
      • 感谢您的帮助,但没有任何区别。我的图像现在如下所示 1x bg.png (320 x 640) 2x bg@2x.png (640 x 960) Retina 4 2x bg-667@2x (750 X 1334) 3x bg@3x.png (2208 x 1242) .当我使用 iPhone 6 模拟器运行应用程序时,它仍然运行 bg@2x.png (640 x 960) 图像。你还有其他想法吗??
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 2014-11-03
      • 2015-04-11
      • 2016-01-31
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      相关资源
      最近更新 更多