У меня есть функция, запускающая двух наблюдателей - keyboardWillShowNotification
и KeyboardWillHideNotification
, и я в основном делаю сброс текстового поля во время редактирования, эмулируя эффект clearsOnBeginEditing
. Однако, если пользователь оставил поле пустым, я хочу, чтобы оно вернуло исходное значение перед редактированием. Вот мой экспериментальный код:
@objc func keyboardWillChange(notification: Notification) {
if notification.name == UIResponder.keyboardWillShowNotification || notification.name == UIResponder.keyboardWillHideNotification {
if textField.isEditing {
let originalValue: String!
originalValue = textField.text!
textField.text = ""
print("content while editing is \(originalValue)")
if notification.name == UIResponder.keyboardWillHideNotification {
print("this is content on end editing \(originalValue)")
if textField!.isEmpty == true {
print("this is nill")
textField.text! = originalValue
} else {
textField.text = textField.text
print("found a value")
}
}
}
}
Как правильно это сделать?