如何在swift中使用UIColor(patternImage:UIImage(名称:" myimage.jpg"))设置背景时获取视图的背景颜色或图像

时间:2017-07-29 14:00:49

标签: ios swift uiview uiimage uibackgroundcolor

我使用以下命令设置了视图的背景颜色

self.view.backgroundColor = UIColor(patternImage: UIImage(named:"myimage.jpg")) 

我想获取图像名称" myimage.jpg"再次。为此,我尝试使用以下命令获取模式图像

self.view.backgroundColor?.cgColor.pattern

它正在返回

Optional(<CGPattern 0x600000364e00>)

我也查看了Detecting if UIColor was created with colorWithPatternImage

但是没什么用处

1 个答案:

答案 0 :(得分:1)

我不认为有可能获得图像名称。

要创建颜色, Quartz 2D 使用CGPattern对象作为绘画来绘制图形上下文。

CGPattern是一个图像,但它是一个单独的对象。

如果您想要检索已创建UIColor对象的图像名称,我建议您使用散列图(NSDictionary)作为UIColor对象作为键及其模式图像名称作为价值。现在唯一的问题是UIColor不符合NSCopying协议,因此不能直接用作NSDictionary内的键,但这可以通过使用另一个对象并符合{{}来解决。 1}}协议。