UITextFieldDelegate textFieldShouldReturn调用者

时间:2013-12-10 04:04:17

标签: ios objective-c delegates uitextfield

有没有办法检测用户是否按下键盘上的“完成”键(或等效键)调用了-[UITextFieldDelegate textFieldShouldReturn],还是通过编程调用-[UITextField resignFirstResponder]来调用它?

3 个答案:

答案 0 :(得分:1)

是的,您可以使用委托方法来确定是 resignFirstResponder 还是返回键

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

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

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

   // used to handle resignFirstResponder

}

答案 1 :(得分:1)

@interface ViewController ()<UITextFieldDelegate>

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

-(BOOL)textFieldShouldReturn:( UITextField * )textField
{
     return YES;
}

答案 2 :(得分:0)

我没有专门测试过这个,但您可以检查文本字段的isFirstResponder状态。如果是第一个响应者,则表示已按下回车键。否则,您知道调用了resignFirstResponder。这假设resignFirstResponder在调用textFieldShouldReturn之前更改状态。