0

UIScrollViewが複数のタッチを必要とする別のジェスチャで実行されているため、UIScrollViewで認識されるタッチの数を制限しようとしています。タッチ数が1を超える場合に、パンとスワイプのジェスチャを起動したくありません。しかし、成功していません。

UIScrollViewをサブクラス化し、明白なメソッドをオーバーライドしましたが、numberOfTouchesは常に1を返しますか?

-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
    if (gestureRecognizer.numberOfTouches > 1) 
    {
        return NO;
    }   
    return YES;
}
4

1 に答える 1

0

おそらくあなたは次のことができますか?

for(UIGestureRecognizer* gr in _scrollview.gestureRecognizers)
{
    if([gr respondsToSelector:@selector(setMaximumNumberOfTouches:)])
    {
        gr.maximumNumberOfTouches = 1;
    }
}

スクロールビューをサブクラス化する必要はありませんviewDidLoad。ビューコントローラでこれを行うことができます。

于 2012-10-22T20:40:59.450 に答える