2009-10-28 12 views
8

どのようにカスタムテーマNSButtonを作成しますか?私は、背景色を変更したり、丸いエッジから四角のエッジに変えたりするような小さな意味ではありません。私はボタンの全体的な外観と感じを置き換えたいです。それはココアでも可能ですか?明らかに、私はNSButtonクラスをサブクラス化し、そこから移動する必要があります。どんな助けでも大歓迎です。どのようにカスタムテーマNSButtonを作成しますか?

答えて

12

実際には、NSButtonCellをサブクラス化する必要があります。それらがどのように相互作用するかをよりよく理解するには、Apple's documentationを読む必要があります。 サブクラスも使用するように、おそらくNSButtonをサブクラス化する必要があります。

ボタンの場合、ほとんどの作業はdrawBezelWithFrame:inView:で行われます。テキストやイメージの描画方法を変更する場合は、drawText:withFrame:inView:drawImage:withFrame:inView:を上書きします。

+4

うん、それはそれを行う最善の方法です。 Interface BuilderとMac OS 10.5を使用している場合、NSButtonをサブクラス化する必要はありません。ペン先のボタンをドラッグ&ドロップして、セルクラスをカスタムクラスに変更します。 – Leibowitzn

+1

これは本当です。これ以上、 'NSButton'をサブクラス化する必要があるのは、プログラムでコントロールを作成している場合だけです。 – Alex

+1

プロパティを設定するだけで外観を置き換えることはできますか?私は、ボタンの "イメージ"プロパティを使用して外観を変更することができましたが、カスタムボタンがクリックされるたびに醜い灰色の四角形が表示されます(画像に透明度があります)。 ありがとうございます。 – adib

関連する問題