我在UITableViewCell中有一个UITextView。我选择单元格时将其设置为第一响应者:
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];
}
这样可行,但是在键盘重新签名后,我无法再在表格视图中选择一个单元格。我可以滚动表视图,但单元格不可选,我无法找出原因。
答案 0 :(得分:0)
点击手势识别器可能会在添加到视图后吞下所有触摸事件。也许在-goAwayKeyboard
中删除它可以恢复触摸交互。
答案 1 :(得分:0)
您应该在离开键盘时禁用点击手势,您可以借助以下代码
来执行此操作tap.enabled = NO;