1

カスタムボタンの外観を作成しようとしています。

私が集めたものからNSButtonCell、描画を行うので、実際には上書きする必要があります。

しかし、問題は、私の CustomButton クラスに などの他のものがあることNSImageですmIsMouseOver。現在、描画は CustomButton クラスで行われていますが、それをセルに移動したいと考えています。

質問は、とにかく customButtonCell クラスから customButton クラスの画像にアクセスして、使用できるようにすることはできます[image drawInRect:...]か?

よろしく、ハン

4

2 に答える 2

1

通常の方法は、NSCell サブクラスにデータを格納することです。基本セル クラスには -(id)image プロパティも含まれているため、ボタン クラスは[[self cell] image]、画像のクエリが実行されたときに呼び出す必要があります。

実際には、NSButton をサブクラス化しているため、必要なものはすべて含まれており、セルの描画メソッドをオーバーライドするだけです。追加のプロパティが必要な場合は、セルで定義し、コントロールでラップします。

于 2010-12-09T09:48:34.423 に答える
1

セルのdrawWithFrame:(NSRect)frame inView:(NSView *)controlViewメソッドには、ビューのプロパティ (画像など) にアクセスできる描画元の NSView への参照が含まれています。

于 2010-12-09T12:47:12.113 に答える