历史问题。
UIColor.placeholderText
现已存在。
有谁知道默认情况下
UITextField
的占位符文本是什么颜色?我正在尝试将 UITextView
的文本设置为相同的颜色。我在其他地方读到它是UIColor.lightGrayColor()
,但实际上更轻一些。
颜色是#C7C7CD(r:199 g:199 b:205)(正如pterry26所说)
字体系列为 HelveticaNeue-Medium,大小为 16
请注意,这是对颜色的猜测。 iOS 中可以自由使用颜色,
UIColor.placeholderText
您可以通过从
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
已弃用。 在某些情况下请注意this。
补充一点,在 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)
}
我将屏幕截图发送到我的 Mac 并使用 Photoshop 的吸管工具。对于任何感兴趣的人来说,这至少是白色背景上占位符颜色的一个非常好的近似值:
红色:199, 绿色:199, 蓝色:205
实际颜色不是纯色,而是具有透明度。所以最接近的颜色是
红色:4,绿色:4,蓝色:30,Alpha:~22%
如果您在白色背景下使用它,您将得到@pterry26上面写的内容。
使用上面正确答案中的值
extension UIColor {
class func greyPlaceholderColor() -> UIColor {
return UIColor(red: 0.78, green: 0.78, blue: 0.80, alpha: 1.0)
}
}
根据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)
代码 #999999 与我的表格完美匹配!
最好动态地从文本字段中获取颜色,以防将来发生变化。默认为 70% 灰色,漂亮接近
extension UITextField {
var placeholderColor: UIColor {
return attributedPlaceholder?.attributes(at: 0, effectiveRange: nil)[.foregroundColor] as? UIColor ?? UIColor(white: 0.7, alpha: 1)
}
}
将标签字体设置为“light”
mylabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" 大小:14.0f];
占位符文本的颜色代码是
#c2b098