2011-12-28 3 views
1

하위보기 안에 스 와이프 제스처를 구현해야합니다. 이 하위 뷰는, 내가 그 슬쩍이보기 내에서 발생 말하는 NSLog가 있어야 일이 가능한 경우,iOS : 하위보기 내에서 제스처를 스 와이프합니다.

view1.transform = CGAffineTransformMakeRotation((54 * -M_PI)/180); 

내가이보기 안에 슬쩍 제스처를 구현하고자하는 경사이다? 그냥 다른 UIView의와 같은

답변

5

, 그것은 제스처 인식기를 추가 할 수있다 :

UISwipeGestureRecognizer *swipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)]; 
[view1 addGestureRecognizer:swipeGestureRecognizer]; 

문제는 UISwipeGestureRecognizer의 재산 '방향'에있다. 이 속성에 대한 Apple 설명서 :

이 제스처 인식기의 스 와이프 허용 방향입니다.

보기가 회전되기 때문에 방향이 함께 회전합니다. 보기가 180도 회전되고 사용자가 오른쪽으로 스 와이프하면 제스처 인식기는이를 왼쪽 슬쩍으로 봅니다. 제스처 인식기를 배치해야하는 래퍼보기를 사용하는 것이 좋습니다. 이것을 시도하십시오 :

UIView *view2 = [[UIView alloc] initWithFrame:view1.frame]; 
[view1.superview addSubview:view2]; 

view2.backgroundColor = [UIColor clearColor]; 
UISwipeGestureRecognizer *swipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)]; 
[view2 addGestureRecognizer:swipeGestureRecognizer]; 

단점은 제스처 인식기에 응답 할 수있는 view2에는 있지만 view1 외부에는 특정 영역이 있다는 것입니다.

관련 문제