清除和恢复 UITextField 中的占位符



我在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]
}

最新更新