NSTextField (ラベル) がバインディングを使用してコントローラー選択にバインドされ、複数値マーカー、選択マーカーなしなどのプレースホルダー値を指定した場合、暗い背景ではうまく表示されない灰色でテキストが描画されます.
プレースホルダー テキストの表示に使用するテキストの色を変更する方法はありますか?
NSTextField (ラベル) がバインディングを使用してコントローラー選択にバインドされ、複数値マーカー、選択マーカーなしなどのプレースホルダー値を指定した場合、暗い背景ではうまく表示されない灰色でテキストが描画されます.
プレースホルダー テキストの表示に使用するテキストの色を変更する方法はありますか?
次のように、必要な色を指定する属性付き文字列を使用します。
NSDictionary *blueDict = [NSDictionary dictionaryWithObject: [NSColor blueColor]
forKey: NSForegroundColorAttributeName];
NSAttributedString *blueString = [[[NSAttributedString alloc] initWithString: @"test"
attributes: blueDict] autorelease];
次に、プレースホルダー属性の文字列を直接設定できます。
[[field cell] setPlaceholderAttributedString: blueString];
またはバインディングを介して実行します。たとえば、次のようになります。
[field2 bind: @"value" toObject: [NSUserDefaults standardUserDefaults]
withKeyPath: @"foo"
options: [NSDictionary dictionaryWithObject: blueString forKey: NSNullPlaceholderBindingOption]];
あなただけの「手帳」を作ってみてください。つまり、必要なテキスト パラメーターを使用して、テキスト フィールドにラベルを表示できます。