UITextField 中占位符文本的默认颜色是什么?

问题描述 投票:0回答:13

历史问题。

UIColor.placeholderText
现已存在。


有谁知道默认情况下

UITextField
的占位符文本是什么颜色?我正在尝试将
UITextView
的文本设置为相同的颜色。我在其他地方读到它是
UIColor.lightGrayColor()
,但实际上更轻一些。

ios uitextfield uicolor
13个回答
111
投票

颜色是#C7C7CD(r:199 g:199 b:205)(正如pterry26所说)

字体系列为 HelveticaNeue-Medium,大小为 16


请注意,这是对颜色的猜测。 iOS 中可以自由使用颜色,

UIColor.placeholderText


45
投票

您可以通过从

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


16
投票

补充一点,在 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)
}

12
投票

我将屏幕截图发送到我的 Mac 并使用 Photoshop 的吸管工具。对于任何感兴趣的人来说,这至少是白色背景上占位符颜色的一个非常好的近似值:

红色:199, 绿色:199, 蓝色:205


12
投票

实际颜色不是纯色,而是具有透明度。所以最接近的颜色是

红色:4,绿色:4,蓝色:30,Alpha:~22%

如果您在白色背景下使用它,您将得到@pterry26上面写的内容。


6
投票

使用上面正确答案中的值

extension UIColor {

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

}

3
投票

iOS 13 开始,您应该使用

UIColor.placeholderText
来确保元素在浅色和深色模式下看起来都不错。 文档:

控件或文本视图中占位符文本的颜色。


2
投票

根据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)

0
投票

我相信是

R:191 G:191 B:198 A:1
。见下图。这里标记的控件是
UIButton
,上面是
Title TextColor
,其余的是
UITextFields
,带有默认占位符颜色。如果 iOS 有所不同,那么这个就是 iOS 9。 enter image description here


0
投票

代码 #999999 与我的表格完美匹配!


0
投票

最好动态地从文本字段中获取颜色,以防将来发生变化。默认为 70% 灰色,漂亮接近

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

-2
投票

我想你可以使用Mac中的工具来获取颜色。enter image description here


-2
投票

将标签字体设置为“light”
mylabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" 大小:14.0f];
占位符文本的颜色代码是
#c2b098

© www.soinside.com 2019 - 2024. All rights reserved.