在UTableViewController上触摸事件

时间:2013-05-07 05:33:35

标签: iphone ios uitableview uitouch

我需要在UTableViewController上添加触摸事件

就像会有一张图片w.r.t.对于每个UICell,所以当用户触摸任何单元格时,相应的图像对用户是可见的,图像只会在用户屏幕上显示触摸事件就可以了。当用户将手指放在屏幕上时,图像将再次隐藏。

请指导实现此目的

2 个答案:

答案 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];
    

    这将仅显示图像 当按下按钮时,一旦触摸它将自动隐藏。

希望它适合你。