当我使用 - (BOOL)textFieldShouldReturn时,为什么要返回BOOL

时间:2015-02-09 07:06:22

标签: objective-c uitextfield

我正在开发一个小项目并使用几个textField。

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
if(textField.tag ==0){
    [self.PWText becomeFirstResponder];
    return false;
}else if(textField.tag ==1){
    [self.PWTextCheck becomeFirstResponder];
    return false;
}else if(textField.tag ==2){
    [self.nameText becomeFirstResponder];
    return false;
}else if(textField.tag ==3){
    [self.phoneText becomeFirstResponder];
    return false;
}else{
    [self.phoneText resignFirstResponder];
    return true;
}}

据我所知,当用户点击键盘上的“返回”按钮时,我想让键盘消失,我会使用这种委托方法。

无论我返回哪一个,我从模拟器看到的没有区别, 如果我想让键盘消失,我使用:

  

[... resignFirstResponder];

当我想将键盘焦点放在我使用的textField之一时:

  

[... becomeFirstResponder];

但为什么我应该在这个方法中返回True / False?

1 个答案:

答案 0 :(得分:0)

正如文件所述:

  

每当用户点击返回时,文本字段都会调用此方法   按钮。您可以使用此方法实现任何自定义行为   按下按钮。

https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UITextFieldDelegate_Protocol/index.html#//apple_ref/occ/intfm/UITextFieldDelegate/textFieldShouldReturn

因此,如果您想在用户按下返回按钮时执行某种操作,可以在此处实现。通过这种方式,您可以执行操作,而无需解除该文本字段的键盘。