Does anyone know what color a UITextField's placeholder text is, by default? I'm trying to set a UITextView's text to the same color. I've read elsewhere that it is UIColor.lightGrayColor() but it is actually a little lighter.
What's the default color for placeholder text in UITextField?
40.1k Views Asked by pterry26 AtThere are 13 best solutions below
On
I sent a screenshot to my mac and used Photoshop's eyedropper tool. For anyone interested, this is at least a very good approximation of the placeholder color on a white background:
Red: 199, Green: 199, Blue: 205
On
The colour is #C7C7CD (r: 199 g:199 b: 205) (as what pterry26 said)
and the font-family is HelveticaNeue-Medium and size is 16
Note that this is a guess at what the color looks like on a screen. For the actual values, simply inspect the Apple code for attributedPlaceholder.
On
Set label font to "light"
mylabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:14.0f];
and color code for placeholder text is
#c2b098
On
Using the values from the correct answer above
extension UIColor {
class func greyPlaceholderColor() -> UIColor {
return UIColor(red: 0.78, green: 0.78, blue: 0.80, alpha: 1.0)
}
}
On
The actual color is not a solid one but has transparency in it. So the closest color is
Red: 4, Green: 4, Blue: 30, Alpha: ~22%
If you use this with a white background you will get what @pterry26 wrote above.
On
According to the Apple code, it is 70% gray
open var placeholder: String? // default is nil. string is drawn 70% gray
and if we convert it to rgb :
UIColor.init(red: 178/255, green: 178/255, blue: 178/255, alpha: 1)
On
Better to grab the color off of a text field dynamically in case it changes in the future. Default to 70% gray, which is pretty close
extension UITextField {
var placeholderColor: UIColor {
return attributedPlaceholder?.attributes(at: 0, effectiveRange: nil)[.foregroundColor] as? UIColor ?? UIColor(white: 0.7, alpha: 1)
}
}
On
Just to add that in iOS 13 (and later), the placeholder color is exposed by Apple via
UIColor.placeholderText
and it's dynamic (supports both dark and light).
Putting it with pre-iOS 13:
static var placeholderText: UIColor {
if #available(iOS 13.0, *) {
return .placeholderText
}
return UIColor(red: 60, green: 60, blue: 67)!.withAlphaComponent(0.3)
}
On
Starting from iOS 13 you should use UIColor.placeholderText to make sure the element looks good in both light and dark modes. Documentation:
The color for placeholder text in controls or text views.


You can get this colour from inspecting the
attributedPlaceholderfrom theUITextField.The default seems to be:
NSColor = "UIExtendedSRGBColorSpace 0 0 0.0980392 0.22";You could add an extension (or category) on
UIColor:2018, latest syntax is just:
#colorLiteralRedwas deprecated. Be aware of this in some cases.