セル(つまり行)が選択されたとき(たとえば、isHighlightedがtrue)、すべてが正常に機能するときにカスタムフォアグラウンドカラーを描画するために、NSTextFieldCell(NSTableViewの内側)をサブクラス化しました。NSTextFieldCellのisHighlightedがフォーカスを持たないときを特定する方法は?
問題は、テーブルビューがフォーカスを失ったときです。選択した行を別の色で描画したいのですが、セルを含むテーブルビューがdrawWithFrame内の最初のレスポンダでないかどうかを調べるにはどうすればよいですか。(NSRect)cellFrame inView:(NSView *)controlView?
私の現在のコードは、私がfirstResponderを使用して解決策を見つけた
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView {
NSColor* textColor = [self isHighlighted]
? [NSColor alternateSelectedControlTextColor]
: [NSColor darkGrayColor];
}
は私も本当にこの答えをしたいキーである場合、あなたは確認する必要があります 複数のウィンドウを持っているがあれば、完璧です! –