我正在研究一个有很多图形的应用程序。该应用针对iOS 7+的iPhone,因此所有支持它的设备都具有视网膜显示屏。我只添加了@ 2x和@ 3x图形,因为@ 1x图形永远不会被使用,而且我不希望包的大小增加得多。@ 2x图像资产没有@ 1x资产
我最加载程序的映像:
[self.imageView setImage:[UIImage imageNamed:@"ButtonOn"]];
这应该加载[email protected]
为@ 2倍显示器和[email protected]
为iPhone 6加。
不过,我注意到这种行为:
- iPhone 6加不加载@ 3倍的图像。
- 但其他iPhone - 4,4s,5s和6不加载@ 2x。
- 我可以强制它通过使用图形全名来加载@ 2x图像,例如:
[UIImage imageNamed:@"[email protected]"]
,但是这违背了命名约定的目的,它也迫使我自己检测屏幕密度。
有没有办法让@ 2x和@ 3x图像没有@ 1x的?
UPDATE:该问题与屏幕密度无关。问题在于,由于我使用的是JPG图形而不是PNG图形,因此除非使用文件的全名扩展名,否则Xcode无法找到它们。也许这是一个错误。
当您的应用程序在iPad 2上运行时,您需要1x图像。 – rmaddy
错误在于听不到您所听到的内容... – matt
我在听,但我也在使用资产目录。 – calvillo