Подтвердить что ты не робот

Каков цвет по умолчанию для текста заполнителя в UITextField?

Кто-нибудь знает, какой цвет имеет текст UITextField, по умолчанию? Я пытаюсь установить текст UITextView на тот же цвет. Я читал в другом месте, что это UIColor.lightGrayColor(), но на самом деле это немного легче.

4b9b3361

Ответ 1

Вы можете получить этот цвет, UITextField attributedPlaceholder из UITextField.

По умолчанию выглядит так: NSColor = "UIExtendedSRGBColorSpace 0 0 0.0980392 0.22";

Вы можете добавить расширение (или категорию) на UIColor:

extension UIColor {
    static var placeholderGray: UIColor {
        return UIColor(colorLiteralRed: 0, green: 0, blue: 0.0980392, alpha: 0.22)
    }
}

2018, последний синтаксис просто:

extension UIColor {
    static var officialApplePlaceholderGray: UIColor {
        return UIColor(red: 0, green: 0, blue: 0.0980392, alpha: 0.22)
    }
}

#colorLiteralRed устарел. Помните об этом в некоторых случаях.

Ответ 2

Цвет # C7C7CD (r: 199 г: 199 b: 205) (как сказал pterry26)

и семейство шрифтов HelveticaNeue-Medium и размер 16


Обратите внимание, что это предположение о том, как цвет выглядит на экране. Для фактических значений, просто проверьте код Apple для attributedPlaceholder.

Ответ 3

Я отправил скриншот на мой mac и использовал инструмент Photoshop eyedropper. Для всех, кто интересуется, это, по крайней мере, очень хорошее приближение цвета заполнителя на белом фоне:

Красный: 199, Зеленый: 199, Синий: 205

Ответ 4

Фактический цвет не является сплошным, но имеет прозрачность. Таким образом, самый близкий цвет

Красный: 4, Зеленый: 4, Синий: 30, Альфа: ~ 22%

Если вы используете это на белом фоне, вы получите то, что @pterry26 написал выше.

Ответ 5

Используя значения из правильного ответа выше

extension UIColor {

    class func greyPlaceholderColor() -> UIColor {
        return UIColor(red: 0.78, green: 0.78, blue: 0.80, alpha: 1.0)
    }

}

Ответ 6

Согласно коду Apple, это 70% серый

open var placeholder: String? // default is nil. string is drawn 70% gray

и если мы конвертируем его в rgb:

UIColor.init(red: 178/255, green: 178/255, blue: 178/255, alpha: 1)

Ответ 7

Я считаю, что это R:191 G:191 B:198 A:1. См. Изображение ниже. Здесь отмеченные элементы управления UIButton с над Title TextColor и остальные UITextFields с цветом-заполнителем по умолчанию. Если iOS делает разницу, то это iOS 9. введите описание изображения здесь

Ответ 8

Код # 999999 идеально подходит для моей формы!

Ответ 9

Лучше динамически захватывать цвет текстового поля на случай, если оно изменится в будущем. По умолчанию 70% серого, что довольно близко

extension UITextField {
  var placeholderColor: UIColor {
    return attributedPlaceholder?.attributes(at: 0, effectiveRange: nil)[.foregroundColor] as? UIColor ?? UIColor(white: 0.7, alpha: 1)
  }
}

Ответ 10

Просто добавьте, что в iOS 13 (и более поздних версиях) цвет заполнителя выставляется Apple через

UIColor.placeholderText

и он динамический (поддерживает как темный, так и светлый).

Помещение с предварительной iOS 13:

static var placeholderText: UIColor {
  if #available(iOS 13.0, *) {
    return .placeholderText
  }
  return UIColor(red: 60, green: 60, blue: 67)!.withAlphaComponent(0.3)
}

Ответ 11

Начиная с iOS 13, вы должны использовать UIColor.placeholderText, чтобы убедиться, что элемент хорошо выглядит как в светлых, так и в темных режимах. Документация:

Цвет для текста заполнителя в элементах управления или текстовых представлениях.

Ответ 12

Я думаю, что вы можете получить цвет с помощью инструментов на вашем Mac. введите описание изображения здесь

Ответ 13

Установите шрифт ярлыка на "светлый"
mylabel.font = [UIFont fontWithName: @ "HelveticaNeue-Light" size: 14.0f];
и цветовой код для текста заполнителя - # c2b098