菜鸟教程小白 发表于 2022-12-12 11:58:27

ios - Xcode Assets 目录支持 3. 5", 4"和 4.7"@2x 图像?


                                            <p><p>Xcode 为 1x、2x、4"2x 和 3xAssets 提供 Assets 桶。我的全屏 Assets 在这种配置下都很不稳定,因为 2x 桶用于 3.5"和 4.7"屏幕。目前我有一个 UIImage 类别内省(introspection)当前屏幕尺寸,如果设备看起来是 3.5,则选择“*-3.5” Assets 。 </p>

<p>这很笨重而且不酷。看到 Xcode 可以满足其 LaunchImageAssets 的所有不同设备尺寸,我希望有某种方法可以为非启动图像 Assets 提供特定于设备的 Assets ,而无需借助代码。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>自 2014 年 11 月中旬以来,我已向 Apple 报告了一个关于此问题的错误,我只是注意到他们将其标记为无值(value)……这给我的印象是,Apple 故意省略了 iPhone 6 的额外插槽。我的猜测是他们现在希望将 2x 插槽用于 iPhone 6,也许他们正在减少对 iPhone 4s 的支持,因为它已经过时了。</p>

<p>如果你真的想继续支持 iPhone 4s,我建议在 2x slot 中使用 iPhone 6 大小的图片,然后使用以下方法加载图片:</p>

<pre><code>+(UIImage *)loadImageNamed:(NSString *)imageName
{
    CGSize screenSize = .bounds.size;
    CGFloat screenHeight = MAX(screenSize.width, screenSize.height);
    CGFloat const IPHONE_4_SCREEN_HEIGHT = 480;
    UIImage *image = ;
    if(screenHeight == IPHONE_4_SCREEN_HEIGHT) {
      CGFloat const xScale = .85333333;//x conversion ratio from iPhone 6&#39;s 375 pts width screen to iPhone 4&#39;s 320 pts width screen
      CGFloat const yScale = .71964018;//y conversion ratio from iPhone 6&#39;s 667 pts height screen to iPhone 4&#39;s 480 pts height screen
      CGSize newSize = CGSizeMake(xScale * image.size.width, yScale * image.size.height);
      UIGraphicsBeginImageContextWithOptions(newSize, NO, 0);

      ;
      UIImage *resizedImage = UIGraphicsGetImageFromCurrentImageContext();
      UIGraphicsEndImageContext();
      return resizedImage;
    }
    return image;
}
</code></pre>

<p>即使纵横比不同,将大图像 (iPhone 6) 调整为小图像 (iPhone 4) 也不会损失太多质量。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - XcodeAssets 目录支持 3. 5&#34;, 4&#34;和 4.7&#34;@2x 图像?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26219762/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26219762/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Xcode Assets 目录支持 3. 5&#34;, 4&#34;和 4.7&#34;@2x 图像?