문제

I use a UIGestureRecognizer:

panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(gestureHandler:)];
panGestureRecognizer.delegate = self;

Now, I want to be able to set the state of the GestureRecognizer to UIGestureRecognizerStateEnded so when I enter

- (void)foldToGallery:(UIPanGestureRecognizer*)gesture

It will perform the code under:

if (gesture.state == UIGestureRecognizerStateEnded

and ignore the rest of the gesture until I will start a new one

도움이 되었습니까?

해결책

Maybe you can set gesture.enabled = NO
That will lead to the state `UIGestureRecognizerStateCancelled (documentation). Maybe you can check on this state and enable it again afterwards.

다른 팁

It may be a bit more fragile than setting enabled, but KVC works, too:

[gesture setValue:@(UIGestureRecognizerStateEnded) forKey:@"state"];

This would be useful if you don't want your recognizer to transition to cancelled.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top