2009-03-11 9 views

答えて

7
  1. UIImageViewを拡張し、それを使用する新しいクラスを作成します。
  2. クラスで、タッチイベントをオーバーライドします。touchesBegan、touchesEndedおよび/またはtouchesMovedは適宜
  3. これらのメソッドから、コントローラのメソッドにコールバックします。
+0

また、userInteractionEnabledプロパティをYESに設定する必要があります。 –

3

私はUIImageビューにカスタムボタンを置き、カスタムスタイルの通常のボタンを使用することは不可視であり、画像を隠すことはありません。また、テキストの領域をクリック可能な領域にすることもできます。

または、ボタンのグラフィック背景としてカスタムイメージを割り当てることができます。

+0

「見えない」(別名背景なし)と言っても、それを「暗く」しておく方法はありますか?さて、この1つのボタンでオーバーレイされたカスタムのViewオブジェクトがあり、私は彼/彼女がそれをクリックしたことに関するユーザーのフィードバックを与えたいと思います。 – Michal

+0

あなたはボタンダウンアクションを検出して何らかの形でイメージに影響を与えなければならないでしょう - あるいは、ボタンを押したときにアルファを増やすイメージに対して透明な黒いビューを持つことができます( "タッチダウン" "内側に触れる")。しかし、イメージを暗くしたいのであれば、そのイメージをカスタムボタンの背景として設定し、それをあなたのためにやってみませんか? –

+0

さて、私はこの画像(ラベル)上に他のオブジェクトがいくつかあります(テキストなどを設定する必要があります)。しかし、私は全体をクリック可能にしたいと思っています:) – Michal

11

その他の説得力のある理由がない限り、私はUIImageViewを使用しません。私はちょうどカスタムUIButtonを使用し、その背景としてUIImageを使用します。

+0

私は彼が特にUIImageViewを望んでいると信じています – RollRoll

+0

私はそれに対して推奨し、代替的なアプローチを提案していました。 –

2

Alpha属性が0.10以下に設定された状態で、画像ビューにボタンを置くだけです。 ボタンのタップイベントをキャプチャできますが、ほとんど見ることはできません。

+0

これは良い解決策ではありません。あなたはまだそれを見ることができます。また、ボタンを非アクティブにするため、アルファをゼロに設定することはできません。よりエレガントな方法があります。たとえば、カスタムボタンタイプにするなど、カスタム画像を設定するまでは表示されません。 –

関連する問題