2009-06-05 2 views
2

いいえ私は6個のカスタムUIButtonを持っています。それらの正常状態画像はすべて円画像である。 これらはすべて同じように配置されていますが、すべての円がお互いに接触しています。UIButton:サークルヒットエリアが必要

カスタムUIボタン(サークルイメージがあります)の問題は、ボタンのヒット領域が四角形で、この四角形の角が他のカスタムボタンのヒットエリアのヒットエリアと重なっていることです。

正常な状態に円形のイメージがあるUIbuttonのヒット領域を作成するには、通常の正方形のヒット領域ではなく、そのサークル上でのみクリックできますか?

誰かが私が現在持っているこの問題を解決する方法を見つけることができることを願っています!事前に

おかげ

Pavan

+0

ココア? iPhone dev? – Demi

答えて

4

「円」の正方形領域がクリックされた場合、円の中心とクリックの座標間の距離が小さい場合、あなたは確認する必要があります円の半径よりも大きい。そうでない場合、「ヒット」は無視されます。

+0

まず、速いレスポンスに感謝します。プロジェクトに取り組んで以来、文字通り答えを待っています! すぐにこれを試してみます。それは理にかなっている。 サークルの面倒を見ると、三角形のような複雑な形状はどうですか?私はそれらの2つを持っていますか? これはかなりです。 – Pavan

+0

ああ、ところで、ユーザーがカスタムボタンをクリックすると、サウンドがトリガーされます。あなたの提案を使用して、座標が円内にあるかどうかをチェックすれば、そのUIButtonはまだハイライト状態になるので、ユーザーはサークル自体にはなくヒット領域にあったということが起こります... .. どうやってハイライト状態になるのを無視するようにプログラムに指示しますか?ありがとうございます。 – Pavan

+0

@Pavan:三角形については、3つの頂点で記述された線の中に座標があるかどうかを確認するための数式コード、または2つの頂点で記述された線の外側にあるかどうかをチェックする方が簡単ですその場合は。これは簡単なはずです - 任意の座標xに対して、三角形のエッジの予想されるy値を計算してから、クリックのy値と比較する必要があります。私はこれが理にかなってほしい。 – Demi

0

入力demiをありがとう、私は基本的に隠しボタンを画像の上に置きます。彼らは本当にサークルではなく、より複雑な形状でした。それで私は数学を気にしなかったので、画像の上に隠されたボタンを置いて、ヒットエリアを作り、必要なヒットエリアを得るまで適切にカバーしています。

非常にきちんとしていませんが、うまく機能します。 :D

迅速返信demiにもう一度感謝します。

0

OBShapedButtonは、画像領域にあるタップにのみ反応するボタンを与えるすばらしいプロジェクトです。私は彼らが同じことを言っているいくつかのプロジェクトを乱しました、そして、これはこれまで見た中で最高です。

関連する問題