2012-02-11 9 views
0

ここに私の設定です: 私にはUIButtonsがいくつかあり、UIScrollViewのいくつかのメインビューがあります。 UIScrollViewには、その中に2つのUIImageViewがあります。レイヤー順のUIScrollViewUIButtonsの上にあります。UIScrollViewから下のUIButtonにタッチします

何が起こるしたいことはUIScrollView内のタッチはどちらかUIImageView上にない場合UIScrollViewはその下UIButtonsにタッチを渡すだろうということです。

これを設定する方法はありますか?

ありがとうございました。

答えて

0

スクロールビューのヒットテストメカニズムをオーバーライドして、求めているものを正確に達成できますが、正直なところ、それ以上の処理が必要な場合は予期しない結果が生じる可能性があります。

より良いアプローチは、スクロールビューにタップジェスチャ認識機能を追加し、ハンドラに対応するボタンと同じアクションを実行させることです。

EDIT:

あなたがやろうとしているかのより良い理解に基づいて、カスタムUIScrollViewののあなたのボタンのサブビューを作成し、それらが固定された場所にとどまるように動的に再配置する-layoutSubviewsをオーバーライドする必要があります。 UIScrollViewをサブクラス化できない/したくない場合は、similar questionに応答して説明した別のアプローチを試すことができます。

+0

これは意味がありますが、UIScrollViewの下に3つのUIButtonがあります。トリガーするアクションをどのように知っていますか? – codeman

+0

UIGestureRecognizerの-locationInView:によって返されたポイントをハンドラメソッドで調べ、場所に基づいて使用するアクションを判断するための数学的ロジック(おそらくは単純な)を書く必要があります。 –

関連する問題