0

UILabels、UITextFieldsなどを含む多数のネストされたUIViewを含むネストされたUIScrollViewを持つトップレベルのUIViewを含むビュー階層があります。

UIViewをすべての上にオーバーレイして、特定のタッチおよびドラッグイベントをインターセプトできるようにします(基本的にレイアウト全体を編集するため)。

UIScrollViewを引き続き機能させたいので、(すべて?)タッチとジェスチャをオーバーレイから下にあるビューに渡す必要があります。特定のタッチが発生すると、タッチをインターセプトし、タッチされたサブビューがサブビュー内でプログラムによって移動されるドラッグ状況を作成します。

(すべて?)タッチとジェスチャを通過できるようにオーバーレイUIViewを作成するための最良の方法は何ですか?いくつかのコード例をいただければ幸いです。

どうもありがとう。

4

2 に答える 2

0

オーバーレイUIViewをサブクラス化し、touchesBegan、touchs..メソッドを次のようにオーバーライドします。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    // Do your stuff
    [[[self view] nextResponder] touchesBegan:touches withEvent:event];
}

touchesMoved、touchesEnded、touchesCancelledについても同じようにします。

これが機能するかどうかは100%確実ではありません。試してみてください:)

于 2012-05-23T11:39:35.353 に答える
0

結局、オーバーレイがパンジェスチャを使用してすべてを処理するように構造を修正しました

于 2012-05-30T10:38:31.630 に答える