2012-07-31 106 views
0

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

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

回答

2

我想通了。只需在每个UITableViewCell中添加一个手势识别器并将识别器设置为调用此方法即可:

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