我正在实现一个UITableView,其中每个单元格都有一个UIImageView
子视图。我希望此UIImageView
可以点击,因此我执行了以下操作:
在tableview:cellForRowAtIndexPath
函数中,当我初始化单元格时(无法从已使用的单元格中出列),我对imageview进行了以下初始化:
imageView.userInteractionEnabled = YES;
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(replyTapped:)];
singleTap.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:singleTap];
单元格的userInteractionEnabled
属性为NO,因为我不希望选择整个单元格,如下所示:
cell.userInteractionEnabled = NO;
在同一个类中,我定义了这个回调:
- (void)imageviewTapped:(UISwipeGestureRecognizer* )tap
但是当我点击图片视图时似乎永远不会调用此imageviewTapped
函数。
我想知道我在这里做错了什么,将TapGestureRecognizer添加到单元格的子视图中有什么好的做法?
谢谢
答案 0 :(得分:0)
我建议不要更改单元格的userInteractionEnabled设置。您冒着搞乱表格视图功能的风险。别这么说了。
如何将图像视图添加到单元格?你是否将它添加到cell.contentView? (表视图是UIViews,但屏幕上显示的视图是单元格的内容视图)
如果您不希望用户能够选择单元格,请将表视图上的allowsSelection属性设置为NO。