1

私が抱えている問題は、世界地図を表示したいということです。ユーザーが特定の国をクリックできるようにしたい。UIImages(国の写真)をUIButtonsの画像にすることができることは知っていますが、UIButtonがカスタムボタンであっても長方形の形状であるため、これは私の場合は機能しません。マップ上の国は長方形ではないため、ボタンが重なって、ある国をクリックしようとすると、別の国をクリックしてしまいます。ユーザーからのクリックを認識し、クリックするつもりだった画像を特定する最善の方法は何ですか?

編集:これについて言及するのを忘れていましたが、ユーザーのタップの座標を取得できた場合、タップされたピクセルが UIImage の空白/透明ピクセルであるかどうかを確認する方法はありますか?

4

2 に答える 2

0

必要なのは、ピクセル パーフェクト (またはほぼピクセル パーフェクト) のタッチ検出です。

Erica Sadun が、その方法を説明するコードを投稿しました。

つまり、独自の派生クラスを定義UIViewし、pointInside:withEvent:` メソッドをオーバーライドします。そこで、メソッドに渡されたポイントに関連付けられた画像ピクセルのアルファ値を読み取り、その値に応じて、ポイントが画像に属するかどうかを決定します。

于 2013-01-27T14:45:39.120 に答える
0

を に追加すると、ユーザーが画像をタップしたときとタップ自体の座標の両方が返さUITapGestureRecognizerれます。座標から、ユーザーがクリックしている国を特定できます。UIImageView

于 2013-01-27T14:39:13.200 に答える