按下 UIButton 时调用 UITextField 的 textFieldDidEndEditing

Call textFieldDidEndEditing of UITextField when press UIButton

是否有在按下 UIButton 时调用 UITextField 的 textFieldDidEndEditing

当前进程是 function in textFieldDidEndEditing 当用户按下“Return”或“时可以工作Done”按钮并点击 UIButton。明确一点,如果textFieldDidEndEditing中的A​​BC函数为运行,用户必须按“Return”或“Done”键盘按钮,然后单击 UIButton。

我想要的是 运行 function in textFieldDidEndEditing 可以在用户按下 UIButton 时工作。

在按钮处理程序方法中,调用:

[self.view endEditing:YES];

这将强制键盘消失,无论当前文本字段获得焦点将退出第一响应程序,并且将为此调用 textFieldDidEndEditing: 方法。

以上假定按钮处理程序在视图控制器中 class。

由于您正在处理自定义单元格并且按钮在自定义单元格中,只需执行以下操作:

[self endEditing:YES];

其中 self 是自定义单元格。这将取消单元格中的任何文本字段。

您可以使用文本字段UIKeyboardWillHideNotification 通知

- (void)viewDidLoad 
{
     [super viewDidLoad];
        // register for keyboard dismiss notification
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:)  name:UIKeyboardWillHideNotification object:nil];
}
 - (void)keyboardWillHide:(NSNotification *)notification
{
     // This function will be called whenever the keyboard hides. So you can implement your textFieldDidEndEditing code here.
}

此外,当您单击按钮时,只需按

退出文本字段
[yourTextField resignFirstResponder];