gpt4 book ai didi

ios - 在 iPad iOS 7 中使用 @2x 加载的 UIImage 与 iOS 8 不同吗?

转载 作者:行者123 更新时间:2023-11-29 02:10:59 24 4
gpt4 key购买 nike

我发现加载图片的结果在不同的iOS版本中是不同的。

环境1:iPad3,4 iOS7.02

//image scale is 1
UIImage *image2 = [UIImage imageNamed:@"momo05@2x.png"];
// image scale is 2
UIImage *image1 = [UIImage imageNamed:@"momo05"];

环境2:iPhone5s iOS 8.1

// image scale is 2
UIImage *image2 = [UIImage imageNamed:@"momo05@2x.png"];

为什么image2在environment1和environment2的结果不一样?但是 environment1 中的 image1 似乎工作正常。

最佳答案

您可以在快速帮助中获取信息:

此方法在系统缓存中查找具有指定名称的图像对象,如果存在则返回该对象。如果匹配的图像对象不在缓存中,此方法会从磁盘或 Assets 目录中定位并加载图像数据,然后返回结果对象。您不能假设此方法是线程安全的。

在运行 iOS 4 或更高版本的设备上,如果设备屏幕的比例为 1.0,则行为相同。如果屏幕的比例为 2.0,则此方法首先搜索具有相同文件名并附加 @2x 后缀的图像文件。例如,如果文件名为 button,它首先搜索 button@2x。如果找到 2x,它会加载该图像并将返回的 UIImage 对象的 scale 属性设置为 2.0。否则,它加载未修改的文件名并将比例属性设置为 1.0。有关支持具有不同比例因子的图像的更多信息,请参阅适用于 iOS 的应用程序编程指南。

在 iOS 4 及更高版本上,如果文件为 PNG 格式,则无需指定 .PNG 文件扩展名。在 iOS 4 之前,您必须指定文件扩展名。

如果您有一个只显示一次的图像文件,并希望确保它不会被添加到系统的缓存中,您应该改为使用 imageWithContentsOfFile: 创建图像。这将使您的一次性图像远离系统图像缓存,从而有可能改善您应用的内存使用特性。

关于ios - 在 iPad iOS 7 中使用 @2x 加载的 UIImage 与 iOS 8 不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29292148/

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