Как добавить цель на клавиатуре сделано / перейти / поиск кнопок? - PullRequest
0 голосов
/ 21 мая 2018

Я хочу прикрепить действие к кнопке, которая находится на клавиатуре.Я не хочу создавать пользовательскую клавиатуру, только обрабатывать действия кнопок поиска / перехода / выполнения.

enter image description here

Спасибо!

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Реализуйте UITextFieldDelegate метод textFieldShouldReturn, чтобы получить событие касания кнопки, независимо от имени кнопки.

class YourViewController: UIViewController, UITextFieldDelegate {
    //conform protocol of `UITextFieldDelegate` in any of `viewDidLoad` or `viewWillAppear` method
    self.textFieldYouWantToHandle.delegate = self;

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        if textField == textFieldYouWantToHandle {
           //any task to perform
           textField.resignFirstResponder() //if you want to dismiss your keyboard
        }
        return true
    }
}
0 голосов
/ 21 мая 2018

Для обработки ключа возврата вы используете делегат textFieldShouldReturn

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
         // your Action According to your textfield
        return true
    }

Как изменить ключ возврата

yourTextField.returnKeyType = UIReturnKeyType.search
yourTextField.returnKeyType = UIReturnKeyType.done

Apple Enum:

typedef NS_ENUM(NSInteger, UIReturnKeyType) {
    UIReturnKeyDefault,
    UIReturnKeyGo,
    UIReturnKeyGoogle,
    UIReturnKeyJoin,
    UIReturnKeyNext,
    UIReturnKeyRoute,
    UIReturnKeySearch,
    UIReturnKeySend,
    UIReturnKeyYahoo,
    UIReturnKeyDone,
    UIReturnKeyEmergencyCall,
    UIReturnKeyContinue NS_ENUM_AVAILABLE_IOS(9_0),
}
...