以下是该方案:
我有一个UITableView和一个UITextView,作为UIView上的子视图添加。 当用户触摸任何一行时,我想要两件事 - 对于UITextView的resignFirstResponder,我想要为特定行添加一个pop类型UIView。
已经完成了。
但是当用户触摸没有行的tableView区域时,我想要UITextView的resignFirstResponder的相同功能。
怎么做,有没有tableView的方法,它可以让我处理没有行的区域的触摸?
答案 0 :(得分:2)
您需要做的是创建自定义UITableView
。 (通过创建新文件继承UITableView
)
覆盖此自定义tableView的“touchesBegan
”方法(我们可以这样做,因为UITableView
是UIView
的子类)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//resignFirstResponder for the UITextView
//call didSelectRow of tableView again, by passing the touch to the super class
[super touchesBegan:touches withEvent:event];
}
我们正在做的是,我们正在推翻UITablView
触及的方式。我们可以在touchesBegan
方法中执行此操作,因为UITableView
是UIView
本身的子类。
因此我们可以覆盖touchesBegan
方法,触及UITableView
上的触摸,然后将其进一步传递给我们的自定义tableView的超类UITableView
,以便调用其“didSelectRow
”方法。
答案 1 :(得分:0)
尚未测试,但我认为您可以在tableview backgroundView中添加触摸事件。
您可以使用tableView.backgroundView
希望这有帮助