5
當NSTextField(Label)綁定到帶有綁定的控制器選擇,並且我爲多值標記,無選擇標記等指定了佔位符值時,它會用灰色繪製文本,該文本在黑暗的背景。如何在顯示佔位符標記時控制NSTextField的文本顏色?
有沒有辦法改變它用於顯示佔位符文本的文本顏色?
當NSTextField(Label)綁定到帶有綁定的控制器選擇,並且我爲多值標記,無選擇標記等指定了佔位符值時,它會用灰色繪製文本,該文本在黑暗的背景。如何在顯示佔位符標記時控制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]];
你可以嘗試做出自己的「掌握者」。我的意思是你可以在你的文本框上用你想要的任何文本打標機顯示一個標籤。
我試着直接設置佔位符屬性字符串,但是當我點擊te xt字段,那麼佔位符消失,這是正常的還是有辦法解決這個問題,讓佔位符一直保持,直到輸入一個字符。 – 2013-07-01 12:32:24
這取決於OS X版本 - 我相信你想要的行爲是在10.7中添加的。在早期版本中,佔位符字符串在字段接收鍵盤焦點時消失(Cocoa術語中的「變爲鍵」)。 – 2013-07-01 17:19:17
我正在使用10.8.3並仍然看到此問題。一旦我點擊文本字段,或者如果我以編程方式將其作爲第一響應者,佔位符就會消失。 – 2013-07-02 10:49:49