UITableView reloadData导致UITextField resignFirstResponder

时间:2012-07-07 05:39:53

标签: objective-c ios uitableview

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

但由于某种原因,每次输入一个字母时,键盘都会被解除。

任何人都知道为什么?

2 个答案:

答案 0 :(得分:11)

您的文本字段正在重新签名,因为重新加载的单元格会发送-resignFirstResponder消息,因为重新加载后无法保证其生存。有关详情,请参阅此related问题。

答案 1 :(得分:-3)

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

yourTextfield.delegate = self;

并实施textFieldShouldReturn:,如下所示

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

        [theTextField resignFirstResponder];

   return YES; 
}

我认为这会对你有所帮助。