2

forControlEvents:UIControlStateHighlighted scrollViewがスクロール状態にあるときにUIbuttonをトリガーできるように、UIScrollViewをどのように構成する必要がありますか。

これで、指がボタンに着地した場合でもボタンを強調表示するのではなく、タッチするとスクロールが停止します。

もちろん、これは非常に期待されていますが、誰かがスクロール時にボタンのタッチイベントを有効にするように案内してくれると本当にありがたいです。

4

1 に答える 1

3

UIScrollView をサブクラス化して、次のように hitTest メソッドをオーバーライドすることができます。

-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    id hitView = [super hitTest:point withEvent:event];
    if (hitView == yourButton) {
        return yourButton;
    } else { 
       return hitView;
    }
}

そうすれば、ボタンが「ヒット」しているときに、ボタンは UIScrollView の代わりに touch イベントを受け取ります。

于 2013-02-27T13:38:13.530 に答える