0

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

就像每个 UICell 都会有一个图像,所以当用户触摸任何单元格时,相应的图像将对用户可见,图像将仅对用户屏幕可见,其上有触摸事件。当用户将手指从屏幕上抬起时,图像将再次隐藏。

请指导实现这一目标

4

2 回答 2

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 ----------
      }
}
于 2013-05-07T05:46:07.790 回答
0

请在单元格内使用 UIButton 来显示图像。这将使实施更容易。您可以像这样实现:

  • 最初将按钮的背景颜色设置为清晰的颜色。这将使它看起来像隐藏。

     button.backgroundColor = [UIColor clearColor];
    
  • 将图像打开按钮设置为:

     [button setImage: [UIImage imageNamed:@"Default.png"] forState:UIControlStateHighlighted];
    

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

希望对你有效。

于 2013-05-07T05:52:32.050 回答