2014-05-09 3 views
1

허용 각도 및 거리를 설정하기 위해 사용자 정의 swipe gesture recognizer을 작성하려고합니다. 지금까지는 실제로 작동하지만보기 컨트롤러에서 많은 코드가 필요합니다. 나는이객체에 대한 메소드 호출을 전달합니다.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
[self.swipeGestureRecognizer touchesBegan:touches withEvent:event]; 
} 
뭔가를 작성하지 않도록 내 제스처 인식기 개체 뷰 컨트롤러에서

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

: 그래서 제 질문은 어떻게 든 같은 메소드 호출을 통과 할 수 어떠했는지입니다 내보기 컨트롤러에

. 나는 UIGestureRecognizer에있는 빌드가 어떻게 든 이것을한다고 생각하지만 그것이 어떻게 작동 하는지를 알 수 없었다.

정말 감사드립니다.

[EDIT]

일반 예 : I는 B. A는 종종 호출되는 방법 C를 가지고있는 개체를 생성하는 대상물 (A)을 갖는다. 내가 얻고 자하는 것은 A의 c가 호출 될 때 B의 메소드 d가 호출된다는 것입니다. 그래서 어떻게 든 전달하거나이 메서드 호출을 전달합니다.

구체적인 예 :

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

는하지만 실제로 내가 같은 방법을 내 GestureRecognizer 개체 그래서이 정보를 처리하려면 다음 방법은 화면에 터치가있을 때마다 내보기 컨트롤러에서 호출되는 내 GestureRecognizer 개체에서이 메서드를 호출 할 때마다 호출 컨트롤러가 호출됩니다.

+0

좋은 예를 통해 자세히 설명 할 수 있습니까? –

+0

실제로 호출하지 않고 다른 객체에있는 메소드를 호출 하시겠습니까? : O – jithinroy

+0

흠. 여하튼 자동적으로 당신이 그것을 그렇게 말하는 경우에, 어리석은 것 소리가 난다.;)하지만 원래 UIGestureRecognizer가 어떻게하는지 궁금합니다. – tobynextdoor

답변

1

하위 클래스 UIGestureRecognizer 및 CustomGestureRecognizer라는 클래스를 만듭니다. 그하는 .m 파일은 현재 제스처를 등록 할 때

을 UIGestureRecognizerStateRecognized

에 인식기의 상태를 변경해야하는 서브 클래스에서이

@implementation CustomGestureRecognizer 

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {  
    // do your code here 
} 

@end 

일부 경우처럼 보일 것입니다 , 그렇지 않으면

으로 변경하십시오.

UIGestureR ecognizerStateFailed

. 이제 뷰 컨트롤러에서이 인식기를 사용하려는

는 수행

CustomGestureRecognizer * recognizer = [[CustomGestureRecognizer alloc] initWithTarget:self action:@selector(handleChange:)]; 
recognizer.delegate = self; 
[self.view addGestureRecognizer:recognizer]; 

자세한 설명은 서브 클래스에서 여기 Apple doc, 주어진다.

+0

당신은 Jithin Roy입니까? –

+0

나는 그것이 최선의 방법이라고 생각한다. 감사. – tobynextdoor

+0

@AnoopVaidya 예 예 : D – jithinroy

0
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    [self.swipeGestureRecognizer touchesBegan:touches withEvent:event]; 
} 

위의 내용은 재귀 호출로 종료되며 프로그램은 어느 시점에서 중단됩니다.

+0

아니야 내보기 컨트롤러에서 이것을 호출하기 때문에. – tobynextdoor

관련 문제