Постоянная проблема с UIColor (имя: «colorname»)?

#ios #swift #uicolor

#iOS #swift #uicolor

Вопрос:

Я видел несколько сообщений годичной давности с аналогичными проблемами, некоторые утверждали, что XCode 11 исправил это. Я использую XCode 12.3.

В двух словах, этот код работает нормально:

 view.backgroundColor = UIColor.green
 

но этот код не:

 view.backgroundColor = UIColor(named: "green")
 

Ошибок не возникает, но фон всегда выглядит черным, независимо от того, какую цветную строку я передаю.

Комментарии:

1. UIColor(named: "green") загружает цвета из вашей xcassets папки, как указано в документации .

2. @ Emilio: Я только учусь, так что вы можете быть правы, но это ссылка на документацию по инициализатору.

Ответ №1:

Именованный параметр предназначен для вызова цветов, которые вы определили в своих наборах xcassets.

Вы определяете набор цветов, как на рисунке ниже, и можете установить светлые и темные версии вашего цвета, которые будут использоваться в зависимости от того, включен ли у вас системный темный режим.

изображение каталога xcassets

Чтобы использовать этот цвет, я мог бы сделать что-то вроде этого.

 textView.textColor = UIColor(named: "myBlueColor")