UITableView reloadData causes UITextField to resignFirstResp



>我有一个textField,它设置为使用输入的每个字母更改tableView的数据源(并调用reloadData)。

但是由于某种原因,每次输入字母时,键盘都会被关闭。

有人知道为什么吗?

您的文本字段正在辞职,因为重新加载的单元格会发送一条-resignFirstResponder消息,因为重新加载的单元格在重新加载后无法保证生存。 有关详细信息,请参阅此相关问题。

使用此方法textFieldShouldReturn:并在 yourClass.h 文件中添加UITextFieldDelegate委托。 将委托设置为 yourTextfield,并在viewDidLoad方法中编写以下代码。

yourTextfield.delegate = self;

并实现如下textFieldShouldReturn:

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
        [theTextField resignFirstResponder];
   return YES; 
}

我认为这对你有帮助。

最新更新