2011-09-11 9 views
1

私はthis great tutorialに続き、ついに3つの独立した行スクロール可能なインターフェイスを実装することができました。ヒットテストのインターセプトUIControlEventTouchUpInside:withEvent:

そのチュートリアルのキーは方法の使用であるように私は、しかし、問題が残っています:場合でもscrollviewエリア外スクロールを処理するために

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 
{ 
    NSLog(@"in hitTest"); 
    if ([self pointInside:point withEvent:event]) { 
     return _scrollView; 
    } 
    return nil; 
} 

。 実際には、私の行はUIButtonで満たされ、TouchUpInsideイベントはヒットイベントと混同されました。このメソッドでこれらのイベントを認識させて拒否する方法はありますか?正当な代理人に伝播させる方法はありますか?

答えて

2

次のようにあなたは、おそらく-hitTest:withEvent:メソッドを実装する必要があります。

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { 
    UIView *superView = [super hitTest:point withEvent:event]; 

    if (superView == self) 
    return _scrollView; 

    return superView; 
} 

これはUIScrollViewのサブビューの内の相互作用が可能になります。

+0

ありがとうKishyr、これは私がこれを解決した方法です、歓声:) –

関連する問題