Как получить цвет фона или изображение представления, когда фон установлен с помощью 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
протокол.