Получение значений RGB из UIColors, полученных из цветов Hex

Пытается извлечь RGB-значения из UIColor. Однако, -[UIColor getRed:blue:green:alpha] не работает в моем случае. Метод никогда не возвращает YES, который, я думаю, означает, что цвет не конвертируется в RGB. Я предполагаю, что это связано с тем, что мой UIColor был создан из цвета Hex (например: #CCCCCC).

Как, черт возьми, вы получаете значения RGB из UIColors на основе шестнадцатеричных в iOS?

One Solution collect form web for “Получение значений RGB из UIColors, полученных из цветов Hex”

Проблема заключается в примере, который вы даете. Цвет #CCCCCC – это оттенок серого, что означает, что UIColor не создан с RGB, а с серой. Другими словами, он создается с помощью UIColor colorWithWhite:alpha: Поскольку ваш UIColor создан с другой цветовой моделью, чем RGB, используйте getRed:green:blue:alpha: возвращает NO.

Что вы можете сделать, так это:

 UIColor *color = // your color CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { CGFloat white; if ([color getWhite:&white alpha:&alpha]) { red = green = blue = white; } else { NSLog(@"Uh oh, not RGB or greyscale"); } } 

Обновить:

Похоже, что поведение немного изменилось по UIColor colorWithWhite:alpha: с iOS 8. Значения RGB для цвета, созданного с помощью UIColor colorWithWhite:alpha: можно получить с помощью UIColor getRed:green:blue:alpha: В более ранних версиях iOS это не сработало. Следовательно, потребность в коде, который я изначально опубликовал.

  • Нарисуя схематическую линию, программно
  • Нарисуйте пунктирную (не пунктирную) линию, с IBDesignable в 2017 году
  • Создание темы / шаблона для приложения iOS?
  • Как отправить события касания UIScrollView в представление позади него?
  • UISearchController отключить отмену UIBarButtonItem
  • Приложение попыталось нажать контроллер представления nil на цель <MFMessageComposeViewController: 0x96d1380>
  • backBarButtonItem не вызывает действие
  • Перетаскивание представлений с помощью UIAttachmentBehavior
  • На iOS, как сделать динамический список «ссылок» или кнопок вызывать метод со строковым аргументом?
  • Воспроизведение кнопок наложения приложений для камеры iOS
  • черный цвет
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.