Як я можу виявити, коли користувач натискав кнопку "повернення" клавіатури під час редагування UITextField? Мені потрібно це зробити, щоб відмовитись від клавіатури, коли користувач натиснув кнопку "повернення".
Дякую.
Як я можу виявити, коли користувач натискав кнопку "повернення" клавіатури під час редагування UITextField? Мені потрібно це зробити, щоб відмовитись від клавіатури, коли користувач натиснув кнопку "повернення".
Дякую.
Відповіді:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
Не забудьте встановити делегата в раскадровці ...
self.yourTextField.delegate = self;
. Навіть кілька текстових полів також працюють.
Делегація не потрібна, ось однорівневий:
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
На жаль, ви не можете зробити це безпосередньо на своїй дошці розкадрування (ви не можете підключити дії до елемента керування, який випромінює їх у дошці розкадри), але ви могли це зробити через посередницьку дію.
UIControlEventEditingDidEndOnExit
подія надсилається лише в тому випадку, якщо textFieldShouldReturn:
метод делегата повертає ДА (без попередньої відставки текстового поля).
YES
за цим методом.
SWIFT 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
у функцію enterPress () введіть усі форми поведінки, яких ви хочете
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
Тепер ви можете зробити це за допомогою табло з використанням відправленої події "Did End on Exit".
На ваш підклас контролера перегляду:
@IBAction func textFieldDidEndOnExit(textField: UITextField) {
textField.resignFirstResponder()
}
У своїй дошці повідомлень для потрібного текстового поля:
- (BOOL)textFieldShouldReturn:(UITextField *)txtField
{
[txtField resignFirstResponder];
return NO;
}
Після натискання кнопки введення тоді називається цей метод делегата. Ви можете захопити кнопку повернення з цього методу делегата.