基本上,我的代码大量使用[UIImage imageNamed]
,默认情况下会从应用程序捆绑包中获取图片。
现在,我希望从文档(或库等)深处的目录(而不是主捆绑包)中返回图像。而且,由于存在太多的imageNamed调用实例,因此我正在考虑为此扩展(读取替换)UIImage ImageNamed实现。
我已经经历过this,但不能完全弥补我该怎么做,什么是最好的:
我也不知道我是否必须处理@ 2x图像。我当前的捆绑软件包括一堆,我想我的实现也必须照顾好它。但不确定如何。
最佳答案
最干净,最优雅,最容易维护的长期解决方案是在UIImage上使用类别。在UIImage上定义一个自定义方法,然后使用“查找和替换”将所有imageNamed调用替换为新方法。
不要使用繁琐的操作(它会引入奇怪的,未记录的错误),并且很难维护或调试。 (此外,如果遇到麻烦,它将在您要使用imageNamed的默认实现的地方中断)。
您不需要为要执行的操作子类化UIImage,因为您不需要实例方法。
关于ios - 覆盖UIImage imageNamed-我有哪些选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15121901/