我需要在 UTableViewController 上添加触摸事件
就像每个 UICell 都会有一个图像,所以当用户触摸任何单元格时,相应的图像将对用户可见,图像将仅对用户屏幕可见,其上有触摸事件。当用户将手指从屏幕上抬起时,图像将再次隐藏。
请指导实现这一目标
我需要在 UTableViewController 上添加触摸事件
就像每个 UICell 都会有一个图像,所以当用户触摸任何单元格时,相应的图像将对用户可见,图像将仅对用户屏幕可见,其上有触摸事件。当用户将手指从屏幕上抬起时,图像将再次隐藏。
请指导实现这一目标
您可以使用 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 ----------
}
}
请在单元格内使用 UIButton 来显示图像。这将使实施更容易。您可以像这样实现:
最初将按钮的背景颜色设置为清晰的颜色。这将使它看起来像隐藏。
button.backgroundColor = [UIColor clearColor];
将图像打开按钮设置为:
[button setImage: [UIImage imageNamed:@"Default.png"] forState:UIControlStateHighlighted];
这将仅在按下按钮时显示图像,一旦离开触摸,它将自动隐藏。
希望对你有效。