我有一个UITextView在一个UITableViewCell。我已将其设置为当单元格被选中时成为第一个响应者:
TPNTableViewCell *thisCell = (TPNTableViewCell *)[tblMain cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
thisCell.txtHidden.text=@"";
[thisCell.txtHidden becomeFirstResponder];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(goAwayKeyboard)];
[self.view addGestureRecognizer:tap];因此,当单元被选中时,txtHidden成为第一个响应器。然后,当您单击键盘外时,将触发选择器goAwayKeyboard。
-(void)goAwayKeyboard
{
TPNTableViewCell *thisCell = (TPNTableViewCell *)[tblMain cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
[thisCell.txtHidden resignFirstResponder];
}这是可行的,但在键盘辞职后,我不能再在表视图中选择一个单元格。我可以滚动表视图,但是单元格是不可选的,我也不知道为什么。
发布于 2017-12-07 04:21:35
点击手势识别器可能是吞咽所有触摸事件后,它被添加到视图。在-goAwayKeyboard中删除它可能会恢复触摸交互。
发布于 2017-12-07 05:23:13
您应该禁用“走开”键盘中的点击手势,您可以在下面的代码帮助下做到这一点,
tap.enabled = NO;https://stackoverflow.com/questions/47685561
复制相似问题