【问题标题】:textfield placeholder centered and also change color文本字段占位符居中并更改颜色
【发布时间】:2018-06-07 18:02:54
【问题描述】:

我想将我的 UITextField 占位符设置为 center aligned 并更改 placeholderColor。 我已经使用this

使文本居中对齐
extension String {
    func attributedString(aligment: NSTextAlignment) -> NSAttributedString {
        return NSAttributedString(text: self, aligment: aligment)
    }
}

extension NSAttributedString {
    convenience init(text: String, aligment: NSTextAlignment) {
        let paragraphStyle = NSMutableParagraphStyle()
        paragraphStyle.alignment = aligment
        self.init(string: text, attributes: [NSAttributedStringKey.paragraphStyle: paragraphStyle])
    }
}

然后像下面这样调用上面的扩展方法

textField.attributedPlaceholder = NSAttributedString(text: text, aligment: .left)

但我无法更改占位符的颜色。我应该如何更改占位符颜色?任何帮助表示赞赏。

【问题讨论】:

  • 应用前景色属性到你的属性字符串。

标签: ios swift swift4


【解决方案1】:

只需试试这段代码

斯威夫特 3.0

myTextField.textAlignment = .center

myTextField.attributedPlaceholder = NSAttributedString(string: "PlaceHolder", attributes: [NSForegroundColorAttributeName: UIColor.green])

【讨论】:

  • 这是 Swift 3 代码,问题标记为 Swift 4。
【解决方案2】:

尝试使用修改后的扩展,如下所示..

extension NSAttributedString 
    {
        convenience init(text: String, aligment: NSTextAlignment, color:UIColor) {
            let paragraphStyle = NSMutableParagraphStyle()
            paragraphStyle.alignment = aligment
            self.init(string: text, attributes: [NSAttributedStringKey.paragraphStyle: paragraphStyle, NSAttributedStringKey.foregroundColor:color])
        }
    }

用法

textField.attributedPlaceholder = NSAttributedString(text: text, aligment: .left, color:UIColor.red)

【讨论】:

    猜你喜欢
    • 2017-05-18
    • 2013-02-04
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 2015-01-29
    相关资源
    最近更新 更多