我想知道我是否遗漏了某些东西,或者我是否再次遇到了新的视网膜虫。 iPhone6Plus上的应用程序看起来像非视网膜时代的缩放版应用程序,这就是原因。
对于我的大多数需求,我使用[UIImage imageWithContentsOfFiles:]
,因为我只加载一次,而我不需要系统来缓存[UIImage imageNamed:]
之类的图片。前者必须被赋予完整或部分路径(在大多数情况下是使用[[NSBundle mainBundle] resourcePath]
的路径就足够了),另一个是应用程序主要包中资源的名称。
我认为[UIImage imageWithContentsOfFiles:]
和[UIImage imageNamed:]
在解析根据设备缩放使用的正确图像文件时应该表现相同。好吧,它似乎并非如此。
例如,如果没有可用的@ 3x图像但是1.0和@ 2x图像,则使用[UIImage imageWithContentsOfFiles:]
时iPhone6Plus将忽略@ 2x图像,除非给出了@ 2x图像文件的绝对路径。
另一方面,如果@ 3x图像不可用,[UIImage imageNamed:]
会在iPhone6Plus上加载@ 2x图像。 @ 2x图像在那里,但在缩放率大于2.0的设备上,[UIImage imageWithContentsOfFiles:]
会立即解析为1.0图像。