我需要在UTableViewController上添加触摸事件
就像会有一张图片w.r.t.对于每个UICell,所以当用户触摸任何单元格时,相应的图像对用户是可见的,图像只会在用户屏幕上显示触摸事件就可以了。当用户将手指放在屏幕上时,图像将再次隐藏。
请指导实现此目的
答案 0 :(得分:2)
您可以使用UILongPressGestureRecognizer更改图像。您可以向单元格添加手势,然后可以使用hangleLongPress方法更改图像。
UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
lpgr.minimumPressDuration = 1.0; //user must hold for 1 second
[cell addGestureRecognizer:lpgr];
- (void)handleLongPress:(UIGestureRecognizer *)gestureRecognizer
{
if (gestureRecognizer.state == UIGestureRecognizerStateBegan)
{
// ----------------- Make here image visible ----------
}
if (gestureRecognizer.state == UIGestureRecognizerStateEnded)
{
// ------------ Make here image invisible ----------
}
}
答案 1 :(得分:0)
请在单元格内使用UIButton来显示图像。它将使实施更容易。 您可以实现如下:
最初将按钮的背景颜色设置为清晰的颜色。这将使它看起来像隐藏。
button.backgroundColor = [UIColor clearColor];
将图像打开按钮设置为:
[button setImage: [UIImage imageNamed:@"Default.png"] forState:UIControlStateHighlighted];
这将仅显示图像 当按下按钮时,一旦触摸它将自动隐藏。
希望它适合你。