[英]How to detect touch end of image view when touches moving
我有图像视图。 我在图像视图中这样检测到触摸
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
int viewTag=[touch view].tag;
if ([[touch view] isKindOfClass:[UIImageView class]])
{
//My code
}
}
并在图像视图上移动。 每当在特定时间我的触摸移出图像视图时,我都需要一个警报视图。 如何从触摸移动的图像视图中检测到触摸?
我建议使用UIPanGestureRecognizer
并将其添加到要检测的图像视图的更大的超级视图中。 这样,即使触摸从外部开始并移入和移出图像视图,您也可以在手势处理程序中跟踪触摸的运动。
创建一个名为handlePan:
的方法非常容易handlePan:
例如,使用您的处理程序方法创建手势识别器,然后将其添加到适当的超级视图中。 现在,只要手势处于活动状态并且触摸移动,您的handler方法都将被调用,您可以检查它是否在图像视图中。
您应该使用此方法...
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
int viewTag=[touch view].tag;
if ([[touch view] isKindOfClass:[UIImageView class]])
{
//My code
}
else
{
//show the alertView here
}
}
并检查初始点击是否在imageView上,您必须在touchesBegan方法中设置一个标志...并在touchesMoved方法中进行相应的检查
您可以在UIImageView
顶部添加相同大小的透明UIButton
并跟踪UIControlEventTouchDragOutside
[button addTarget:self action:@selector(draggedOutside:) forControlEvents:UIControlEventTouchDragExit];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.