Swift 3 - сохранение текста, когда пользователь касается за пределами UITextField

В Swift 3 мне нужно определить, касается ли пользователь что-либо за пределами UITextField, затем проверить, является ли конкретный UITextField отправителем, а затем сохранить текст. Я пытался сделать это с помощью Центра уведомлений. Я нашел примеры в Swift 2, но я пытаюсь реализовать правильный синтаксис для Swift 3.

    let notificationName = Notification.Name("UITextFieldTextDidChange")

    NotificationCenter.default.addObserver(self, selector: #selector(self.textFieldDidChange), name: notificationName, object: nil)

    NotificationCenter.default.post(name: notificationName, object: nil)

    func textFieldDidChange(sender: AnyObject) {

    if let notification = sender as? NSNotification,
        let textFieldChanged = notification.object as? UITextField
        where textFieldChanged == self.myTextField {
        storedText = myTextField.text!
        }
    }

ОБНОВИТЬ

Я нашел немного другой способ сделать это, который работает для меня:

    myTextField.addTarget(self, action: #selector(didChangeText(textField:)), for: .editingChanged)

    func didChangeText(textField: UITextField) {
        if let textInField = myTextField.text {
            myTextField.text = textInField
            storedText = myTextField.text!
        }
    }

0 ответов

Другие вопросы по тегам