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

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

最佳答案

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

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

关于objective-c - 如何知道用户在UITableViewCell中点击的位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11746829/

10-10 22:09