2012-07-19 10 views
2

그래서 응용 프로그램의 화면에서 슬쩍 제스처를 하위 뷰 중 하나에 추가하려고합니다.UISwipeGestureRecognizer가 예상대로 작동하지 않습니다.

UISwipeGestureRecognizer *swiperR = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(switchStackingMode:)]; 
    [swiperR setDirection:UISwipeGestureRecognizerDirectionRight]; 
    [chart addGestureRecognizer:swiperR]; 

UISwipeGestureRecognizer *swiperL = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(switchStackingMode:)]; 
    [swiperL setDirection:UISwipeGestureRecognizerDirectionLeft]; 
    [chart addGestureRecognizer:swiperL]; 


-(void)switchStackingMode:(UISwipeGestureRecognizer *)sender { 
    NSLog(@"inside switchstack from gesture"); 
    //other stuff 
} 

내가 응용 프로그램 실행에 서브 뷰와 상호 작용을 시도 만 슬쩍 제스처 swiperL 작동 다음과 같이 나는 제스처 인식기를 선언합니다. 오른쪽으로 문지르면 응답이 없습니다. 처음에는 방향 (UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight)을 사용하여 하나의 제스처 인식기 만 시도했지만 작동하지 않았고 다른 스택 오버플로 응답을 기반으로 두 개의 별도 인식기로 되돌려졌습니다. 아직도 운이 없다. 그리고 이것은 나를 혼란스럽게 만든다. 나는 뭔가를 놓치고있는 것처럼 느낍니다.

+0

코드가 잘 보이고 왼쪽 및 오른쪽 스 와이프를 감지하고 있습니다. – Leena

+0

위의 작업이 저에게 잘 작동합니다 .. – Bourne

+0

차트 서브 뷰에서 왼쪽으로 스 와이프하면 NSLog가 인쇄됩니다. 오른쪽으로 스 와이프하면 아무 일도 일어나지 않습니다. – ascendancy05

답변

0

나는 대답했다 여기 Setting direction for UISwipeGestureRecognizer. 나는 당신의 "액션"이름이 같을 수 없다는 버그가 있다고 믿습니다. 즉, "switchStackingMode"라는 이름의 셀렉터가 없습니다. switchStackingModeRight 및 switchStackingModeLeft를 사용하십시오.

1

이 코드는 작동합니다. 당신은 장치에 노력하고 있습니까? 스 와이프 제스처는 시뮬레이터에서 그렇게하기 쉽지 않습니다.

오른쪽과 왼쪽이 모두 인식 된 하나의 제스처 만 수행 할 수 있습니다. 이 방법은 오른쪽 및 왼쪽으로 또는 위아래로 작동하지만 모든 방향으로 작동하지는 않습니다.

+0

기기를 사용하고 있습니다. 내 '차트'상단에 버튼을 겹쳐서 테스트 한 후 제스처를 추가하면 코드가 작동해야합니다. 이 시점에서 나는 Shinobi Charts와 함께 일하고 있음을 언급 할 가치가 있다고 생각합니다. 아마도 올바른 행동이 무시되고있을 것입니다. 해결 방법을 만들려고 시도합니다. – ascendancy05

+0

아마도 UIButton을 차트 아래에 배치하고 차트를 통해 스 와이프 동작을 단추에 전달할 수 있습니까? – ascendancy05

+0

또는 차트 위에 명확한 UIView를 추가하고 위에 제스처를 추가하십시오. – iSofTom

관련 문제