当前位置: 首页 > 知识库问答 >
问题:

使用Swift更改占位符文本颜色

景胜涝
2023-03-14

我有一个实现深蓝色UITextField的设计,因为占位符文本默认是深灰色,我几乎看不出占位符文本说了什么。

当然,我已经在谷歌上搜索了这个问题,但我还没有找到一个解决方案,因为我使用的是Swift语言,而不是Obj-c。

有没有办法使用Swift更改UITextField中占位符文本颜色?

共有3个答案

柯翔
2023-03-14

创建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中。你会看到的

南宫俊喆
2023-03-14

您可以使用Interface Builder快速完成此任务,而无需添加一行代码。

选择UITextField并打开右侧的身份检查器:

单击加号按钮并添加新的运行时属性:

占位符标签。文本颜色(Swift 4)

_占位符标签。文本颜色(Swift 3或更少)

使用颜色作为类型并选择颜色。

就这样。

在再次运行应用程序之前,您不会看到结果。

祁正浩
2023-03-14

可以使用属性化字符串设置占位符文本。只需将所需颜色传递给属性参数即可。

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设置默认颜色,但是如何更改焦点? 问题答案: 试试这个,这应该工作:

  • 遵循这篇文章(样式文本输入占位符),我可以将文本输入占位符的颜色改为红色。但它总是一种浅红色,并不完全是红色。 有什么办法可以使它变成红色吗? 更新