사용자 정의 인식기를 이미지 뷰로 제 거하려합니다. 그것은 커비 터너로부터 한 손가락 회전입니다.사용자 지정 제스처 인식기를 선택적으로 제거
-(void) enableRotation{
[[self mainImageView] setUserInteractionEnabled:YES];
[self addRotationGestureToView:[self mainImageView]];
//[self addTapGestureToView:[self mainImageView] numberOfTaps:1];
}
- (void)addTapGestureToView:(UIView *)view numberOfTaps:(NSInteger)numberOfTaps
{
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[tap setNumberOfTapsRequired:numberOfTaps];
[view addGestureRecognizer:tap];
}
- (void)addRotationGestureToView:(UIView *)view
{
NSLog(@"'Adding KT Rotation recognizer to the rotation");
KTOneFingerRotationGestureRecognizer *rotation = [[KTOneFingerRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotating:)];
[view addGestureRecognizer:rotation];
}
- (void)rotating:(KTOneFingerRotationGestureRecognizer *)recognizer
{
UIView *view = [recognizer view];
[view setTransform:CGAffineTransformRotate([view transform], [recognizer rotation])];
}
- (void)removeRotationGestureFromView: (UIImageView *) imgView {
//UIRotationGestureRecognizer *rotate = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationRemoved:)];
//[imgView removeGestureRecognizer:rotate];
KTOneFingerRotationGestureRecognizer *rotation = [[KTOneFingerRotationGestureRecognizer alloc] init];
while(self.mainImageView.gestureRecognizers.count){
[self.mainImageView removeGestureRecognizer:[self.mainImageView.gestureRecognizers objectAtIndex:0]];
//[self.mainImageView removeGestureRecognizer:rotation];
}
NSLog(@"Trying to remove rotation on this gesture");
}
나는 사용자 정의 타일 탭 rotationToggle 정적 int이며
if(rotationToggle%2==0){
[self enableRotation];
NSLog(@"%d", rotationToggle);
}
else{
[self removeRotationGestureFromView:self.mainImageView];
NSLog(@"%d", rotationToggle);
}
rotationToggle +=1;
에 전화 해요.
어떻게 제스처 인식기를 하나만 제거 할 수 있습니까? 현재 메서드는 이미지보기에서 모든 인식자를 제거합니다. 내가 단지하는 경우 [imgView removeGestureRecognizer : rotate]; 또는 [self.mainImgView removeGestureRecognizer : rotate];
작동하지 않습니다. 미리 감사드립니다. 여기에 뭔가를 언급하는 걸 깜빡했는지 알려주세요.
Plz은 – CalZone