私はこれを理解するのに何時間も費やしましたが、運がありませんでした。少し前に Apple メーリング リストで同様の問題が発生しましたが、誰も回答しませんでした。基本的には、次のようになります。カスタム ベゼルを作成するために、NSTextFieldCell をサブクラス化し、drawWithFrame: メソッドをオーバーライドしました。次に、メソッドの最後で drawInteriorWithFrame: を呼び出して、テキストを描画します。テキストが時々消えるという事実を除いて、すべてが完全に機能します。テキスト以外はすべて描画されます。フィールドエディタと何か関係があるのではないかと思いますが、よくわかりません。以前にこの問題に遭遇した人はいますか?
1 に答える
0
この質問が良くなかったことをお詫びしますが、いつか他の人がこの不思議な描画の問題に遭遇する可能性があると感じており、解決策を見つけました. NSTextFieldCell をサブクラス化するための鍵は、drawWithFrame: をオーバーライドするときに [super drawWithFrame:] を呼び出す必要があることです。そうしないと、これらのレンダリングの問題が発生する可能性があります。セルの backgroundColor を好きなように設定し、setClip を使用して目的の外観を得ることができますが、すべての描画を自分で行う必要はありません。少なくともこれは私にとってはうまくいきました。
于 2010-11-01T00:18:01.323 に答える