如何知道用户点击UITableViewCell的位置?

时间:2012-07-31 18:41:35

标签: objective-c ios

我正在编写一个通用的iOS应用程序,其中我有UITableView设置为允许allowsMultipleSelectionDuringEditing。只是为了刷新你的记忆,这意味着表格的每个单元格都有一个小的复选框。当我处于编辑模式时,有没有办法可以确定用户是否点击了小复选框,或者他们是否点击了其余的单元格?我希望调用不同的方法,具体取决于他们是否点击了框或其他单元格。例如,

if(user tapped checkbox)
{
    foo();
}
else if (user tapped any part of the cell other than checkbox)
{
    foobar();
}

1 个答案:

答案 0 :(得分:2)

我明白了。只需为每个UITableViewCell添加一个手势识别器,并将识别器设置为调用此方法:

UITableViewCell *cellTapped = (UITableViewCell *) recognizer.view;
CGPoint tapLocationInContentView = [recognizer locationInView:cellTapped.contentView];
if(tapLocationInContentView.x < 0 )
{
    //Checkbox tapped
}
else 
{
    //Rest of cell tapped
}