2012-02-07 4 views
0

UITableViewでは、表のセルをタップ&ホールドしてタップをキャンセルし、指を動かすとスクロールし続けることができます。これはどのようにサブビューでUIScrollViewで行うことができますか?スクロールしてサブビューをタップすることができますが、後者の動作に問題があります。タップしたまま指を動かすと、scrollviewをスクロールし続けます。スクロールやセルタッピングのようなUITableViewの実装方法は?

答えて

0

サブビューでUITapGestureRecognizerを使用しているとします。スクロールビューはスクロールにUIPanGestureRecognizerを使用します。パンレコグナイザが失敗しない限り、認識しないようにタップ認識プログラムに指示するだけで済みます。

あなたはiOSの5をターゲットしている場合、これは非常に簡単です:

[self.tapRecognizer requireGestureRecognizerToFail:self.scrollView.panGestureRecognizer]; 

あなたはiOSの古いバージョンを標的にしている場合は、UIScrollViewの古いバージョンがpanGestureRecognizer性質を持っていません。私はrequireGestureRecognizerToFailを呼び出す必要はありませんでしたし、スクロールビューのパンはまだ動作することを見つける

for (UIGestureRecognizer *recognizer in self.scrollView.gestureRecognizers) { 
    if ([recognizer isKindOfClass:[UIPanGestureRecognizer class]]) 
     [self.tapRecognizer requireGestureRecognizerToFail:recognizer]; 
} 
+0

:代わりに、スクロールビューのgestureRecognizers配列を検索する必要があります。この呼び出しが必要なときの考えはありますか? – Boon

関連する問題