1

上部と下部のバーは ImageViews で作成され、ボタンとロゴは、次に示すように mapView にオーバーレイされたビューの子です。

私のビュー アーキテクチャ

私の特定の問題は、MapView がすべてのタッチ イベントを吸い取っているため、ボタンが機能していないことです。オーバーレイされたすべてのコントロールを含むビューでユーザーの操作を有効にすることで解決しましたが、マップとのすべての操作を無効にします。また、ユーザーが 2 つのサブビュー (バーを含む) と対話できないビューの周りに UI をラップしようとしましたが、奇妙なプレゼンテーション エラーと多くの NSLog 制約エラーが発生します。

このレイアウトを適切に実現する方法についてのアイデアはありますか? ユーザーが灰色っぽいバーに触れてマップを操作しようとすると、マップは機能しないはずです。

4

1 に答える 1

2

すべてのオーバーレイ要素を保持する単一のビューがあり、それがマップ ビューの上にあるように見えます。したがって、マップ ビューではなくすべてのタッチを処理します。

この設計に基づいて、上部セクションを含むビューと下部セクションを含むビューを作成します。次に、それらをマップ ビューの上の位置に配置します。これにより、中央のマップ ビューの上にビューがなくなります。

ここに画像の説明を入力

ご覧のとおり、緑のセクションは「トップ オーバーレイ」で、紫のセクションは「ボトム オーバーレイ」です。ユーザーが操作できるようにするマップ ビューの中央セクションをカバーするビューはありません。

于 2013-03-29T18:28:26.930 に答える