我有一个非常简单的UITableView
,其单元格包含UITextField
,我需要能够调用resignFirstResponder
来隐藏键盘,只要用户触摸UITableView之外的其中一个细胞
我已阅读this question/answer但这似乎是实现这一目标的一种非常基本的方法。通过将UITableView
转换为UIControl
,我已经了解了一种方法,以便您可以连接TouchDown事件。
有人知道实现此功能的标准或首选方法吗?
答案 0 :(得分:1)
这非常有趣,但不是很难,因为你必须使用UITapGestureRecognizer ......
IBOutlet UITextField *txtField;
IBOutlet UITableView *tableview;
-(void)viewDidLoad
{
UITapGestureRecognizer *tapgesture=[[UITapGestureRecognizer alloc]initWithTarget:self
action:@selector(tableClicked)];
[tableview addGestureRecognizer:tapgesture];
[super viewDidLoad];
}
-(void)tableClicked
{
[txtField resignFirstResponder];
}
休会这个示例代码,我认为它有效...谢谢..
答案 1 :(得分:1)
点击手势识别器将检测点击,但我有时发现它干扰了正常的行选择机制。我想我已经在answer to this question.中找到了一个很好的解决方案。我已经发布了一些UIView
子类的示例代码,您将其设置为文本字段的accessoryInputView
。然后,如果您选择文本字段,它会自动添加点按识别器,然后在您完成后自动删除它。