为什么在拖动视图时touchesMoved方法不会被多次调用--IOS
下面是panGesture的实例。
pangstr = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
- (void)handlePan:(UIPanGestureRecognizer *)recognizer{
CGPoint translation = [recognizer translationInView:baseView];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:baseView];
if (recognizer.state == UIGestureRecognizerStateEnded) {
CGPoint velocity = [recognizer velocityInView:baseView];
CGFloat magnitude = sqrtf((velocity.x * velocity.x));
CGFloat slideMult = magnitude / 1000;
NSLog(@"magnitude: %f, slideMult: %f", magnitude, slideMult);
float slideFactor = 0.15 * slideMult;
CGPoint finalPoint = CGPointMake(recognizer.view.center.x + (velocity.x * slideFactor),
recognizer.view.center.y + (velocity.y * slideFactor));
}
现在我的问题是如何在- (void)touchesMoved:(NSSet *)touches:(UIEvent*)事件函数中使用(NSSet*)识别器参数。我特别想要它,因为我想在我的TouchesMoved函数中获得finalPoint值,而CGPoint finalPoint使用*recogniser参数。
如果有人能给我一个解决方案那就太好了,谢谢
转载请注明出处:http://www.dbgszz.com/article/20230330/2318456.html