OS X アプリを作成していますが、別のウィンドウでのフォント スムージングに問題があります。
テキストを入力するテキストフィールドと、あなたが書いた内容に応じて提案のリストがポップアップ表示される提案ウィンドウがあります。NSTableView
これらの提案を表示し、「ポップアップ」ウィンドウとして表示するためにビューセルベースを使用しSFBPopoverWindowController
ています(同じ効果を持つ他のクラスを試しました)。行が最初に描画されたときはきれいに見えますが、それらを選択した後 (キーボードまたはマウス)、フォントの太さが変わります。太字の設定ではなく、フォントのスムージング方法を変更するような視覚的なものです。
「音符」はここで選択されたセルです
さらに奇妙なのは、ウィンドウを 3 回非表示にして表示した後、その時点からすべてが正常に機能することです。
繰り返しますが、「音符」が選択されたセルです。
NSTableRowView
選択はクラスとそのメソッドを上書きすることによって行われますdrawSelectionInRect:
が、カスタム クラス内のすべてを描画しようとしましNSTableCellView
たが、役に立ちませんでした。テキストは標準NSTextField
です。何も変更されていません。
SFBPopoverWindow (およびそのコントローラー) は一度作成され、 styleMask NSBorderlessWindowMask
、 backing NSBackingStoreBuffered
、 defer を に設定して再利用されYES
ます。私が行った唯一の変更は、SFBPopoverWindowController
キーウィンドウになるウィンドウをオフにすることでしたが、何も変わりません。