我还有一个对象,希望具有与UITextField的默认占位符文本颜色相同的颜色。
我知道我可以简单地用相同的颜色创建一个新的UIColor,但是如果Apple更改默认的UITextField颜色,这似乎很麻烦并且存在问题。相反,我正在寻找访问UITextField颜色的正确方法,以便可以将另一个字段设置为相同的颜色?
谢谢。
答案 0 :(得分:0)
在UITextField
中的UIKit
API中,UITextField
的占位符颜色为70% of gray color
,由iOS SDK
定义。
open var placeholder: String? // default is nil. string is drawn 70% gray
来自Apple文档
占位符字符串是使用系统定义的颜色绘制的。
可能无法使用iOS SDK
中提供的具有任何属性的这些系统定义的颜色。
答案 1 :(得分:0)
尝试一下:-
@IBOutlet weak var textField: UITextField!
现在在viewDidLoad方法中:-
let placeHolederText = "PlaceHolder"
let attributedPlaceHolder = NSAttributedString(string: placeHolederText, attributes: [NSAttributedString.Key.foregroundColor : UIColor.red ,NSAttributedString.Key.font : UIFont.systemFont(ofSize: 12) ])
self.textField.attributedPlaceholder = attributedPlaceHolder
self.textField.borderStyle = .bezel
self.textField.tintColor = .gray
结果:-
我希望这会对您有所帮助, 谢谢。