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

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

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

  • Получение событий касания за пределами границ
  • Как использовать переходы с помощью UISplitViewController
  • Мой UIView не делает
  • Просмотр плавающих над всеми ViewControllers
  • UITextView плавающий синий ящик при прокрутке
  • Как равномерно разместить два подсмотра вокруг центра UIStackView (iOS 9)?
  • Производительность изображения по сравнению с пользовательским рисунком в UIKit
  • Сглаживание CGPath
  • 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 это не сработало. Следовательно, потребность в коде, который я изначально опубликовал.

    Interesting Posts

    Автомаркет: Xcode 6: Центрирование элементов пользовательского интерфейса

    Сделайте глубокую копию UIView и всех его подзонов

    Как создать образ из строки в кодировке Base64 в Swift?

    периферийное writeValue: forCharacteristic: type: return null error and value

    Установить цвет фона для раздела UICollectionView?

    Как отладить крах приложения iOS во время запуска, точку останова только в файле сборки

    fork () не удалось (1: операция не разрешена)

    Swift ViewController Фон становится черным с альфой

    Как вызвать reindexAllSearchableItemsWithAcknowledgementHandler и reindexSearchableItemsWithIdentifiers на CSSearchableIndexDelegate

    Общие сведения о блоке распределения памяти инструментов в iOS

    Почему didRotateFromInterfaceOrientation в категории вызывает проблемы с UISplitView?

    Как я могу найти UIView для конкретного UITabBarItem?

    Методы ротации устарели, что эквивалентно «didRotateFromInterfaceOrientation»?

    supportedInterfaceOrientations, вызываемый для всех iPhone, кроме 6+

    iPhone: экран блоков клавиатуры

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.