我在UITextField
上设置了一个addTarget
,可以在editingDidBegin
时清除占位符文本。但是我不知道如果用户单击另一个UITextField
,或者该字段留空,如何恢复占位符文本。
这位于viewDidLoad()
firstInitialTextField.addTarget(self, action: #selector(clearPlaceholderInTextField), for: UIControl.Event.editingDidBegin)
此功能位于程序的主体中。
@objc func clearPlaceholderInTextField() {
firstInitialTextField.placeholder = ""
}
我想将相同的功能应用于几个字段。
为所有文本字段创建出口集合,例如
@IBOutlet var textFs:[UITextField]!
每个都有不同的标签,以及你在viewDidLoad
中设置的占位符数组
var placeholders = [String]()
然后将 vc 设置为所有这些的委托viewDidLoad
textFs.forEach { $0.delegate = self }
实现
func textFieldDidBeginEditing(_ textField: UITextField) {
textField.placeholder = ""
}
func textFieldDidEndEditing(_ textField: UITextField) {
textField.placeholder = placeholders[textField.tag]
}