0
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"searchCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    searchField = (UITextField *)[cell viewWithTag:10000];

    [searchField resignFirstResponder];
}

好的,我有一个标识符名称为“searchCell”的单元格。此单元格包含一个标签为 10000 的 UITextField,它会在屏幕底部弹出一个键盘。当用户触摸另一个单元格时,必须隐藏键盘,以便用户可以有更大的空间上下滚动。

但是,当键盘弹出并且用户触摸(选择)一个单元格时,上面的代码被调用但不起作用...... :(看起来分配的 UITableViewCell 不是用户当前使用的那个。什么是我在这里做错了吗?

4

1 回答 1

2
  1. 让你的班级成为 UITextField 的代表
  2. 转到 Storyboard 文件,单击文本字段并转到连接检查器
  3. 在 outlets 下,将 delegate 连接到 View Controller
  4. 在模拟器中运行它。它会工作
于 2013-01-23T19:52:15.427 回答