Как получить цвет фона или изображение представления, когда фон установлен с помощью UIColor(patternImage: UIImage(named:"myimage.jpg")) в swift

Я установил цвет фона представления с помощью следующей команды

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

Я хочу снова получить имя изображения "myimage.jpg". Для этого я попытался получить изображение шаблона, используя следующую команду

self.view.backgroundColor?.cgColor.pattern

это возвращается

Optional(<CGPattern 0x600000364e00>)

Я также посмотрел на Обнаружение, если UIColor был создан с colorWithPatternImage

но это не очень полезно

1 ответ

Я не думаю, что можно получить название изображения.

Для создания цвета Quartz 2D использует CGPattern Объект как краска для рисования внутри графического контекста.

CGPattern это изображение в порядке, но отдельный объект.

Если вы хотите получить имя изображения, которое создало UIColor объект, я бы посоветовал вам использовать hashmap (NSDictionary) как UIColor объект в качестве ключа и его имя шаблона изображения в качестве значения. Единственная проблема сейчас в том, что UIColor не соответствует NSCopying протокол и, следовательно, не может быть использован сразу как ключ внутри NSDictionary но это может быть решено с помощью другого объекта и соответствия NSCopying протокол.

Другие вопросы по тегам