0

のように機能するカスタム形状を作成したいと思いますUIButton。ボタンのようなターゲットに送信する必要がありますが、ボタンの状態が変化したときにボタンの外観を変更するtouchUpInsideために使用したいと考えています。drawRect

サブクラス化しないことについて、ネット上で矛盾することをたくさん読んだことがありUIButtonますUIControl

  1. では、これを行うための許容可能な方法は何ですか?

  2. また、答えが「 」メソッドを使用してUIControlどのように実装しますか?touchUpInsidebeginTracking

  3. をサブクラス化できないのはなぜですかUIButton。クラスクラスターであり、機能しないために使用していないことについて読んだことがありますUIButtonTypeCustomが、なぜですか?

誰かがこれに光を当てるか、良い読み物を教えてくれることを願っています。

ありがとうございました。

4

1 に答える 1

1

カスタム ボタンを作成したいときに、このような問題が発生しました。また、サブクラスへの正しい方法でヒットしていないように見える多くの投稿を読みましたUIButton。あなたの場合、選択時にボタンを調整する方法をサブクラス化UIButtonし、オーバーライドすることをお勧めします。私はlightdesign/LDGradientButtonで見つけることができるというsetHighlighted:サブクラスを持っています。お気軽に描画コードをご覧ください。私の場合は を使っていましたが、やり直すなら を使うと思います。UIButtonLDGradientButtonCALayersCoreGraphics

于 2013-10-10T18:06:51.577 に答える