我在UIImageView
的内容视图的右侧添加了UITableViewCell
。
我正在尝试阻止在用户触摸UIImageView
时突出显示单元格(因为附加的手势识别器会执行其他功能)。
我考虑过实施tableView:shouldHighlightRowAtIndexPath:
并返回NO
,但我不确定如何在调用此方法时轻松确定是否正在触摸图像。有一个简单的方法吗?
答案 0 :(得分:0)
试试这个:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
// Add tap gesture recogniser to cell's image view
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped)];
tap.cancelsTouchesInView = YES;
cell.theImageView.userInteractionEnabled = YES;
[cell.theImageView addGestureRecognizer:tap];
return cell;
}
重要的部分是确保图片视图具有userInteractionEnabled = YES
且手势识别器具有cancelsTouchesInView = YES
。
如果点击图像视图,这将导致tapped
方法触发,但不会突出显示该单元格。
答案 1 :(得分:0)
为什么不添加UIButton
类型为custom.Will有点按钮操作。不会影响单元格突出显示
防止突出显示tablecell
cell.selectionStyle = UITableViewCellSelectionStyleNone;
或
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];