UITableView触摸事件

时间:2011-08-08 06:13:32

标签: ios uitableview touch

以下是该方案:

我有一个UITableView和一个UITextView,作为UIView上的子视图添加。 当用户触摸任何一行时,我想要两件事 - 对于UITextView的resignFirstResponder,我想要为特定行添加一个pop类型UIView。

已经完成了。

但是当用户触摸没有行的tableView区域时,我想要UITextView的resignFirstResponder的相同功能。

怎么做,有没有tableView的方法,它可以让我处理没有行的区域的触摸?

2 个答案:

答案 0 :(得分:2)

您需要做的是创建自定义UITableView。 (通过创建新文件继承UITableView

覆盖此自定义tableView的“touchesBegan”方法(我们可以这样做,因为UITableViewUIView的子类)

-(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方法中执行此操作,因为UITableViewUIView本身的子类。

因此我们可以覆盖touchesBegan方法,触及UITableView上的触摸,然后将其进一步传递给我们的自定义tableView的超类UITableView,以便调用其“didSelectRow”方法。

答案 1 :(得分:0)

尚未测试,但我认为您可以在tableview backgroundView中添加触摸事件。 您可以使用tableView.backgroundView

访问背景视图

希望这有帮助