1

我的应用中有大量可调整大小的图像,并且我在所有地方都使用它们。

它们中的大多数具有相同的边缘插图,但有些不同。

创建它们也需要大量代码...

UIImage *buttonBGImage = [[UIImage imageNamed:@"buttonBG"] resizableImageWithCapInsets:UIEdgeInsetsMake(4, 4, 5, 4) resizingMode:UIImageResizingModeStretch];

这只是一行代码,但我必须去寻找所有的边缘插图等......

我正在尝试为它创建一个方便的方法。就像是...

UIImage *buttonBGImage = [blah resizableButtonBG];

这些最好的地方在哪里?我可以创建一个名为“ImageManager”的单例。这样每个可调整大小的图像只会被实例化一次,然后将被保存在内存中。这是矫枉过正吗?

我可以添加一个类别来UIImage调用...

+(UIImage *)resizableButtonBG;

任何人都可以提供任何建议吗?我的单身想法是个好主意吗?使用 Singleton 有什么缺点吗?

4

1 回答 1

3

类别方法绝对是一个很好的解决方案。许多人使用它来创建在应用程序中的多个位置使用的字体和颜色。

没有必要使用单例。没有关联的实例数据,因此您不妨坚持使用返回适当图像的简单类别方法。

于 2013-04-23T10:11:26.893 回答