gpt4 book ai didi

ios - UIImage "imageNamed:"适用于 iOS 8,但不适用于 7?

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

several answers在 SO 上已经关于“imageNamed:”不起作用,但没有包含我的特殊皱纹:

我在 iOS 7 上从“imageNamed:”得到 nil,但同样的构建在 iOS 8 上有效。

显然,一切都正确连接,因为它在 iOS 8 上运行,但它始终返回 nil 用于 iOS 7 上的大量(可能 2 打)图像。值得注意的是,我移动了在这开始的时候将 Assets 添加到 AssetCatalog。 iOS 7 上的 Assets 目录是否存在一些必须考虑的异常行为?

以下是一些详细信息,基于对本网站上类似问题的回答:

  • 此问题出现在为用户存档和导出的实际构建中,以及模拟器中。两个版本都显示了 iOS 7/8 的行为 split 。
  • 图像是 PNG, Assets 目录包含每个图像的 1x、2x 和 3x 版本。
  • 我已确认拼写和大小写匹配(进一步确认它适用于 iOS 8)。

到目前为止,关于 SO 的大部分答案都是针对会阻止它工作的错误根本。任何人都可以帮助进行仅适用于 iOS 8 的图像调用吗?

最佳答案

嗯。显然,解决方案是,如果 Assets 目录中的图像集名称中有文件后缀,iOS 7 就会出错。我们的 Assets 目录中的每个文件都有多个版本,相同的图像但用途不同,所以我的同事用旧文件名给它们命名,如下所示:

"RedBall.png - Small" (includes 25px, 50px, 75px)
"RedBall.png - Large" (includes 150px, 300px, 450px)
"BlueBall.png - Small"
"BlueBall.png - Large"

显然 iOS 8 足够聪明,可以识别“RedBall.png - Small”这个名称,而 iOS 7 不知道当“.png”就在中间时该怎么做。

将文件重命名为...

"RedBall - Small"
"RedBall - Large"
"BlueBall - Small"
"BlueBall - Large"

...似乎可以解决问题。

关于ios - UIImage "imageNamed:"适用于 iOS 8,但不适用于 7?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30129299/

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