0

ズームインしてパン/スクロールできる画像を含む UIScrollView があります。この画像の特定の部分に注意を引くことができるように、この画像に図形を描きたいと思います。私は現在、UIViewsで形状を描画することでこれを行っていdrawRectます。

問題は次のとおりです。たとえば、画像のほぼ全体に図形を描いたり、重なり合って画像のほぼ全体を占める多数の図形を描いたりします。UIView が画像に重なっていて、タッチ イベントが発生しないようになっているため、ズームやパン/スクロールができなくなりました。

例

例については、画像を参照してください。黄色の円は、画像の大部分を占めていないため、何もしなくても比較的害はありません。その円に触れるだけが問題になります。ただし、赤い四角は間違いなく問題です。その UIView は明らかにスクロール ビューのほとんどに重なっています。つまり、スクロール ビューの画像でタッチ イベントが発生しません。

現在、スクロール ビューのメイン コンテンツである UIImageView にタッチ イベントを追加しています。追加するすべてのサブビュー (形状) に対して同じことを行うことができますが、ある形状への 1 回のタッチと別の形状への 1 回のタッチを UIImageView の 2 回のタッチ イベントのように処理する必要があると判断する必要がある場合、これは非常に複雑になります。ピンチジェスチャーでズームを強制できます。しかし、それはやり過ぎのように思えます (そして、どうしたらよいかわかりません)。

この問題を解決する最善の方法は何ですか?

4

1 に答える 1

2

図形を描画するために使用するビューでプロパティuserInteractionsEnabledを NO に設定するとうまくいきます。操作できないビューはタッチ イベントでは無視されます。

于 2013-06-14T13:25:06.603 に答える