0
+-----------------------+  +--------------------+
| A                     |  | A                  |
| +-------------------+ |  | +----------------+ |
| |B                  | |  | | C              | |
| |                   | |  | |                | |
| +-------------------+ |  | +----------------+ |
+-----------------------+  +--------------------+

上記のようなビュー階層があります。(BとCはそれぞれAのスペース全体を占めます。それぞれが画面サイズです。最初にBが追加され、次にCが追加されます)

理由により、Cはスクロール効果のタッチイベントを取得しています
(Bはcocos2d-xレイヤーであり、C(スクロールビュー)はscrollViewDidScrollhttp://getsetgames.com/2009/08/21/cocos2d-and-のときにBの位置を設定し ますuiscrollview /

そして、タッチイベントをBに渡したい、またはスクロールしていないときにサブビューを渡したい。

ここでタッチイベントをBに渡すにはどうすればよいですか?

4

2 に答える 2

0

これと同じ問題は、WWDC2012スクロールビューセッションでカバーされています。

手順は..

1. You hide your scrollview.
2. place dummy view where scrollview would be and attach scrollview's panGestureRecognizer to this view.

スクロールしていないときは、ダミービューの後ろのビューにタッチが移動します。

于 2012-07-06T01:34:59.730 に答える
0

したがって、私があなたの文脈を正しく理解していれば、BとCは(少なくとも完全にではなく)重複せず、同じスーパービューを共有します。

私が見る唯一の可能性は、独自のカスタムウィンドウ、オーバーライドを定義することです

- (void)sendEvent:(UIEvent*)event {

必要に応じてAで取得するタッチを処理します。

タッチイベントの宛先ビューを変更する例については、SOのこのスレッドを参照してください。管理する必要のあるさまざまなケースを処理するために独自のフローを構築する必要があります。また、何らかの投影を行うことでタッチ座標を混乱させる可能性もあります。

于 2012-07-02T09:09:28.647 に答える