2013-12-10 2 views
0

Есть ли способ определить, вызвал ли -[UITextFieldDelegate textFieldShouldReturn] пользователь, нажав клавишу «Готово» на клавиатуре (или эквивалент), или если он был вызван программным вызовом на -[UITextField resignFirstResponder]?UITextFieldDelegate textFieldShouldReturn caller

+0

Смешение вопрос .. Вы можете уточнить это.? –

ответ

1

Да, вы можете использовать методы делегата, чтобы определить, является ли он resignFirstResponder или возврата ключа нажатия.

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 

    // here return key pressed will be handled 
    return YES; 
} 

- (void)textFieldDidEndEditing:(UITextField *)textField { 

    // used to handle resignFirstResponder 

} 
0

Я не тестировал это специально, но вы можете проверить состояние текстового поля isFirstResponder. Если это первый ответчик, вы знаете, что нажата клавиша ввода. В противном случае вы знаете, что было вызвано resignFirstResponder. Это предполагает, что resignFirstResponder изменяет статус перед вызовом textFieldShouldReturn.

1
@interface ViewController()<UITextFieldDelegate> 

-(void) viewDidLoad 
{ 
    textfieldObject.delegate = self; 
} 

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    return YES; 
} 
Смежные вопросы