UITableCell中的UIImageView无法点击

时间:2014-06-19 21:37:09

标签: ios objective-c uitableview uitapgesturerecognizer

我正在实现一个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添加到单元格的子视图中有什么好的做法?

谢谢

1 个答案:

答案 0 :(得分:0)

我建议不要更改单元格的userInteractionEnabled设置。您冒着搞乱表格视图功能的风险。别这么说了。

如何将图像视图添加到单元格?你是否将它添加到cell.contentView? (表视图是UIViews,但屏幕上显示的视图是单元格的内容视图)

如果您不希望用户能够选择单元格,请将表视图上的allowsSelection属性设置为NO。