私は、ビューベースNSTableViewを使用している、と私は少し問題に出会ってきました。NSTableViewセルの表示の問題
私が強調したときに黒から白に私の2つのラベルのテキストの色を切り替えるようにしようとしています。
そうするために、私は次のコードを書いて、
- (void)tableViewSelectionDidChange:(NSNotification *)notification
{
NSView * viewInQuestion = [table viewAtColumn:0 row:[table selectedRow] makeIfNecessary:YES];
if ([viewInQuestion isNotEqualTo:lastViewSelected])
{
[(NSTextField*)lastViewSelected.subviews.lastObject setTextColor:NSColor.blackColor];
[(NSTextField*)[lastViewSelected.subviews objectAtIndex:1] setTextColor:NSColor.grayColor];
}
[(NSTextField*)viewInQuestion.subviews.lastObject setTextColor:NSColor.whiteColor];
[(NSTextField*)[viewInQuestion.subviews objectAtIndex:1] setTextColor:NSColor.whiteColor];
lastViewSelected = viewInQuestion;
}
素晴らしい作品。私はこの結果を得る:
問題は時としてテキストがのNSLogがNSTextFieldの色がNSCalibratedWhite(または何でもそれを呼び出して)だったことを私に言っていても白表示されていないことです。
テキストフィールドが表示されていないときの色も黒に切り替わり(バックそれから離れて、次にスクロール)。しかし、これを実行しても、NSTextFieldの色はまだ白として記録されます。
を溶液にあなたの答えを変更し、それがバックグラウンドのスタイルに私がやった方法を処理するために、全く最適ではありません。 – evdude100