1

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

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

我想再次获得图像名称“myimage.jpg”。为此,我尝试使用以下命令获取图案图像

self.view.backgroundColor?.cgColor.pattern

它正在返回

Optional(<CGPattern 0x600000364e00>)

我还查看了检测 UIColor 是否是使用 colorWithPatternImage 创建的

但这并没有太大帮助

4

1 回答 1

1

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

为了创建颜色,Quartz 2D使用CGPattern对象作为颜料在图形上下文中绘制。

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

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

于 2017-07-29T14:42:28.200 回答