我有一个UIImageView,我正在尝试确定何时执行拖动,拖动距离原点的距离。我目前有这个:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:touch.view];
if(CGRectContainsPoint(myimage.frame, location) == 0){
}
else
{ //user didn't tap inside image}
图像本身不会移动,但是一个人可以抓住他们的手指,点击图像,然后拖动他们的手指。我只是想确定拖动距离。
答案 0 :(得分:3)
如果您想计算距离,如果用户点按了您的图片,您需要记住touchesBegan
中的点(存储在某处)。
然后在touchesMoved
或touchesEnd
中,您将能够获得当前点并计算到原始点的距离。
如果您需要与UIImageView
来源保持距离,可以致电[touch locationInView:myImage];
我建议您使用UIGestureRecognizer
课程,而不是自己处理。它们更容易实现。