清除和还原UITextField中的占位符

时间:2019-05-02 22:11:10

标签: swift uitextfield placeholder

我在addTarget上设置了UITextField,可以在editingDidBegin时清除占位符文本。但是,如果用户单击另一个UITextField,或者该字段为空,我不知道如何恢复占位符文本。

它位于viewDidLoad()

 firstInitialTextField.addTarget(self, action: #selector(clearPlaceholderInTextField), for: UIControl.Event.editingDidBegin)

此功能位于程序的主体中。

 @objc func clearPlaceholderInTextField() {

        firstInitialTextField.placeholder = ""

    }

我想将几个相同的功能应用于这些字段。

1 个答案:

答案 0 :(得分:0)

为所有文本字段创建出口集合

@IBOutlet var textFs:[UITextField]! 

每个具有不同的标签,以及您在viewDidLoad中设置的placeHolders数组

var placeholders = [String]()

然后在viewDidLoad

中将vc设置为它们的委托。
textFs.forEach { $0.delegate = self }

实施

func textFieldDidBeginEditing(_ textField: UITextField) { 
   textField.placeholder =  ""
}

func textFieldDidEndEditing(_ textField: UITextField) {
   textField.placeholder =  placeholders[textField.tag]
}