我有一个实现深蓝色UITextField
的设计,因为占位符文本默认是深灰色,我几乎看不出占位符文本说了什么。
当然,我已经在谷歌上搜索了这个问题,但我还没有找到一个解决方案,因为我使用的是Swift语言,而不是Obj-c。
有没有办法使用Swift更改UITextField
中占位符文本颜色?
创建UITextField
扩展,如下所示:
extension UITextField{
@IBInspectable var placeHolderColor: UIColor? {
get {
return self.placeHolderColor
}
set {
self.attributedPlaceholder = NSAttributedString(string:self.placeholder != nil ? self.placeholder! : "", attributes:[NSAttributedString.Key.foregroundColor: newValue!])
}
}
}
在你的故事板或. xib中。你会看到的
您可以使用Interface Builder快速完成此任务,而无需添加一行代码。
选择UITextField
并打开右侧的身份检查器:
单击加号按钮并添加新的运行时属性:
占位符标签。文本颜色(Swift 4)
_占位符标签。文本颜色(Swift 3或更少)
使用颜色作为类型并选择颜色。
就这样。
在再次运行应用程序之前,您不会看到结果。
可以使用属性化字符串设置占位符文本。只需将所需颜色传递给属性
参数即可。
Swift 5:
let myTextField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 30))
myTextField.backgroundColor = .blue
myTextField.attributedPlaceholder = NSAttributedString(
string: "Placeholder Text",
attributes: [NSAttributedString.Key.foregroundColor: UIColor.white]
)
Swift 3:
myTextField.attributedPlaceholder = NSAttributedString(
string: "Placeholder Text",
attributes: [NSAttributedStringKey.foregroundColor: UIColor.white]
)
老斯威夫特:
myTextField.attributedPlaceholder = NSAttributedString(
string: "Placeholder Text",
attributes: [NSForegroundColorAttributeName: UIColor.white]
)
问题内容: 我有一个实现深蓝色的设计,因为默认情况下,占位符文本为深灰色,所以我几乎无法分辨出占位符文本的含义。 我已经用谷歌搜索了这个问题,但是我还没有想出使用Swift语言而不是Obj-c的解决方案。 有没有一种方法可以使用Swift 更改占位符文本的颜色? 问题答案: 您可以使用 属性字符串 设置占位符文本。通过:传递所需的颜色: 对于Swift 3+,请使用以下命令: 对于Swift 4.
问题内容: Chrome支持元素上的[占位符属性](其他可能也支持)。 但是以下内容对占位符的价值没有任何作用: 仍将保留而不是。 是否可以更改占位符文本的颜色? 问题答案: 实作 有三种不同的实现:伪元素,伪类,什么也没有。 WebKit,Blink(Safari,Google Chrome,Opera 15+)和Microsoft Edge使用伪元素:。 Mozilla Firefox的4至1
问题内容: 我想更改TextField的占位符颜色,但是找不到它的方法。 我尝试设置和,但它不会更改占位符的颜色。 这是代码: 也许还没有API? 问题答案: 目前还没有api。 但您可以 : 自己使用和实现占位符: 现在,您可以像老板一样使用任何类型的编辑。 -自定义TextField 您总是可以创建自己的custom,以在所有地方使用: 用法 (带占位符):
问题内容: 我正在网上搜索,但没有找到任何东西。我正在尝试使用javascript更新文本框的占位符颜色,但是我该怎么做呢?我有一个颜色选择器,颜色正在变化。 如果我的CSS中有类似的内容,该如何更新? 是否有JavaScript命令可以对此进行编辑?就像是 问题答案: 使用CSS变量。您还可以仅定位所需的元素 CSS变量在修改您无法使用JS之类的伪类/伪元素(例如/ / 等)时非常有用。您只需使
问题内容: 聚焦输入字段时如何更改占位符的颜色?我使用此CSS设置默认颜色,但是如何更改焦点? 问题答案: 试试这个,这应该工作:
遵循这篇文章(样式文本输入占位符),我可以将文本输入占位符的颜色改为红色。但它总是一种浅红色,并不完全是红色。 有什么办法可以使它变成红色吗? 更新