2012-03-20 13 views
2

静的な国地図をその国の地域に分けた単一の画像ビューがあります。私がしたいのは、画像上のタッチ位置を検出し、対応する領域についてのコンテンツを提供することです。リージョンの境界は線形ではないので、どのように各リージョンの領域を保存できますか? 1つの地域に属している複数の画像ビュー(またはそれらの画像を含むカスタムUIButton)が必要か、それとも可能なのですか?sinuのタッチ座標を検出する

これは私の頭に浮かぶ最初のことです。多分、私が聞きたいと思っているより単純でより良い方法があり、重複がある場合、このように謝る方法を知ることができませんでした。もちろん、私は助けに感謝します。

おかげ

答えて

2

一つの簡単な&正確な方法を用いることであろうオレBegemannのOBShapedButtons - 各状態について1。

これにより、どの状態が選択されたかを正確に検出することができます。それぞれの状態のイメージを別々のボタン(透明な環境)に配置し、隣り合ったボタンを並べて、状態境界線が互いに重なり合うようにします。

ボタンは印刷機の位置を検出し、あるボタンが透明領域で押された場合、正しいボタンが表示されるまでタッチが通過します。

+0

これは素晴らしいことです!ありがとうrokjarc、ありがとう。 –

+1

@ErenBeşel:どうぞよろしく!そして本当の名声はOle Begemannに行く:) –

+1

彼らは本当に=) –

1

最も簡単な方法は、そのタイプのカスタムを作り、あなたは自分のUIImageViewの上にいくつかのUIButtonsを置くことであろう欲しいもののような何かをする(ので、彼らは透明です)。一般にUIButtonsで各国のエリアを記入してください。アプリをテストすると、人々が各国の中心に触れることに気付くでしょう。したがって、100%のカバレッジを得ることについては心配しません。国の形によっては、1つまたは2つの正方形のUIButtonで十分でしょう。

あなたが100%カバレッジルートに行きたい場合は、各国を別々のUIImageViewサブクラスに埋め込むことができます。どこでもタッチが検出されたら、各国の画像を見て、触れられたポイントが透明でないかどうかを確認します。それを打つと(透明でないピクセル)、あなたはその国を見つけました。関連するコードのために、この記事を参照してください:How to get the color of a pixel in an UIView?

+0

Nedさん、ありがとう、これは基本的にどの考えが最も簡単なもの(あなたの最初のパラ)でしょうか。他に提案がない場合、私はあなたの答えを受け入れるでしょう。 –

関連する問題