是否有方法检测-[UITextFieldDelegate textFieldShouldReturn]是由用户按键盘上的“完成”键(或等效键)调用的,还是通过对-[UITextField resignFirstResponder]的编程调用来调用的
发布于 2013-12-10 04:20:50
是的,您可以使用委托方法来确定是按resignFirstResponder还是按返回键。
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
// here return key pressed will be handled
return YES;
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
// used to handle resignFirstResponder
}发布于 2013-12-10 04:51:39
@interface ViewController ()<UITextFieldDelegate>
-(void) viewDidLoad
{
textfieldObject.delegate = self;
}
-(BOOL)textFieldShouldReturn:( UITextField * )textField
{
return YES;
}发布于 2013-12-10 04:19:01
我还没有专门测试这一点,但是您可以检查文本字段的isFirstResponder状态。如果是第一个响应程序,您就知道按下了enter键。否则,您知道resignFirstResponder是被调用的。这假设resignFirstResponder在调用textFieldShouldReturn之前更改状态。
https://stackoverflow.com/questions/20485846
复制相似问题