2012-03-22 35 views
1

我在iOS5中工作,顯然我應該能夠使用scrollView.pinchGestureRecognizer控制或至少抑制UIScrollView的內部捏手勢識別器。iPhone iOS如何在啓用縮放時使UIScrollView與UIRotationGestureRecognizer一起使用?

但是,我的代碼似乎不工作。識別器不會將我的課程視爲委託,並且不會等待我的旋轉手勢識別器失敗。我能做些什麼來使旋轉手勢成爲優先事項,之後會考慮捏?

更確切地說,我運行的問題是,同時旋轉和縮放的視圖「飛出屏幕」朝向左下角,永遠不會再被看到。

-(void)setup scrollViews 
{ 
     [tempScrollView.pinchGestureRecognizer requireGestureRecognizerToFail:rotationRecognizer]; 
     tempScrollView.pinchGestureRecognizer.delegate = self; 

     tempScrollView.maximumZoomScale = 4.0; 
     tempScrollView.minimumZoomScale = 0.25; 
//   
     tempScrollView.delegate = self; 
} 

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 

-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer 
{ 

    if([gestureRecognizer isEqual:rotationRecognizer]) 
    { 
     NSLog(@"Rotation gesture"); 
    }else { 
     NSLog(@"Other gesture: %@", [gestureRecognizer class]); 
    } 
    return YES; 

} 

    - (IBAction)rotateView:(id)sender { 

     if([sender isKindOfClass:[UIRotationGestureRecognizer class]]) 
     { 
      UIRotationGestureRecognizer* recognizer = sender; 

      float recognizerRotation = [recognizer rotation]; 
      CGAffineTransform transform = CGAffineTransformMakeRotation(recognizerRotation); 
    activeView.transform = transform; 

     } 

    } 

回答

0

據我所知,在UIScrollViewpinchGestureRecognizer是隻讀的。 但是,您可能嘗試子類UIScrollView並覆蓋方法addGestureRecognizer:以禁用pinchGestureRecognizer,然後添加您自己的自定義pinchGestureRecognizer

相關問題