UIImageNamed -> 按大小类获取资产

Posted

技术标签:

【中文标题】UIImageNamed -> 按大小类获取资产【英文标题】:UIImageNamed -> get asset by size class 【发布时间】:2015-12-27 07:42:58 【问题描述】:

我正在尝试根据尺寸等级从图像目录中检索资产。 这就是资产在图像目录中的组织方式:

当我这样做时:

UIImage *addTaskImage = [UIImage imageNamed:@"big_add_plus_new"];

而 iPad 在 1/3 屏幕上,我总是得到上图 ([**])。

(“big_add_plus_new”是集合的名称)

我做错了什么?

谢谢

【问题讨论】:

你期待什么?请记住,就资产而言,屏幕(或您的应用程序可用的一部分)大小实际上并不重要,而是它的密度 - 即它是 Retina HD(@3x)、Retina (@2x) 还是“普通”屏幕 (@1x)。 [-*] 图像应在 iPad 上以紧凑宽度加载。 【参考方案1】:

您应该使用UIImageinit(named:inBundle:compatibleWithTraitCollection:) 方法

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/#//apple_ref/occ/clm/UIImage/imageNamed:inBundle:compatibleWithTraitCollection:

【讨论】:

以上是关于UIImageNamed -> 按大小类获取资产的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 C++ 类成员向量的大小?

net core中怎么获取类的assembly

ActionScript 3 AS3按类名获取类引用

如何在 WinRT 中获取文件大小?

Unix shell 组文件扩展名(按大小)

在任何 Servlet 相关类中按名称获取 JSF 托管 bean