2012-05-05 51 views
0

我加入以下手勢識別到我的用戶控件:讓UIRotationGestureRecognizer更明智

UIRotationGestureRecognizer *rotate = [[UIRotationGestureRecognizer alloc] 
      initWithTarget:self 
      action:@selector(ViewRotated:)]; 
[[self view] addGestureRecognizer:rotate]; 

-(void)ViewRotated:(UIRotationGestureRecognizer *)sender{ 
    NSLog(@"rotated"); 
} 

到目前爲止一切都很正常,每當我在iOS設備上旋轉,我的手指手勢快速響應。


現在的問題加上縮放手勢識別器相同的觀點時談到。當我添加:

UIPinchGestureRecognizer* pch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(ViewPinched:)]; 
[[self view] addGestureRecognizer:pch]; 
//... 
// ... 

-(void)ViewPinched:(UIPinchGestureRecognizer *)sender{ 
    NSLog(@"Pinched"); 
} 

是PCH事件觸發的70%的時間。我必須以完美的方式真正地旋轉我的手指,以便旋轉手勢而不是捏手。我如何使旋轉手勢更明智,以便更容易觸發?

+0

那麼你的兩個手勢是相互衝突的,這就是導致這個問題的原因。 在這種情況下,它可能會更好地創建自己的手勢recongizers而非識別使用該系統的構建.... – Lefteris

+0

也許如果我能延緩縮放手勢識別也將是巨大的。我不介意是否需要0.4秒才能使捏合手勢生效。如果其他手勢不在那裏,則旋轉手勢響應非常快。我不知道如何推遲它或者甚至不可能... –

回答

4

您可以設置手勢識別器的代表並從gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:方法返回YES。這允許多個手勢識別器同時工作。

+0

不知道。偉大的事情要知道。 – Lefteris

+0

我也不知道!我告訴我的用戶用手腕旋轉而不是指尖大聲笑! – tobinjim