2011-04-01 105 views
15

我在界面生成器中設置了我的NSTextField的佔位符文本,但佔位符文本不顯示,直到我在文本字段內單擊來編輯它。還有誰有相同的問題嗎?NSTextField佔位符文本不會顯示,除非編輯

感謝

編輯:截圖。下面是現場看的時候我沒有進行編輯,如:

Not editing http://cl.ly/2a0R1h1p2A082g1t1b3q/Screen_Shot_2011-04-01_at_6.51.25_PM.png

這是個什麼樣子,當我編輯它像:

Editing http://cl.ly/1c2d1U233R3j3k0M2E2Q/Screen_Shot_2011-04-01_at_6.51.32_PM.png

+1

這聽起來像什麼應該發生的完全相反。正在編輯字段時,佔位符文本應該消失。你如何設置你的NSTextField?它是否受限於任何東西?請注意,只有當文本字段的stringValue是nil或@「」時,纔會顯示佔位符字符串。 – 2011-04-01 23:47:10

+0

對於文本字段及其空白也沒有綁定。我編輯了我的帖子,以顯示編輯/不編輯狀態的屏幕截圖。 – indragie 2011-04-02 00:52:14

+0

我有同樣的問題,你有沒有找到你的答案? – 2011-12-12 16:49:30

回答

28

你試過設置通過代碼佔位符?比如這樣的事情:

[[textField cell] setPlaceholderString:@"hello"]; 
+0

我也嘗試過,並且得到相同的行爲。 – indragie 2011-04-02 00:45:40

17

你是否在Interface Builder中綁定了NSTextField數據?如果是這樣,則必須在實用程序檢查器的綁定選項卡中設置「多值佔位符」,「無選擇佔位符」和「空佔位符」。當你在這裏,你可以設置「沒有適用的佔位符」。

+0

太棒了!謝謝 ;-) – Colas 2014-04-24 15:32:16

-1

我這是怎麼解決這個問題:

  1. 子類NSTextFieldCell;
  2. 覆蓋- (void)drawWithFrame:(NSRect)cellFrame,- (void)drawInteriorWithFrame:(如果需要)NSCell的方法,並將所需的所有圖形代碼放到這些方法中。 別忘了打電話super執行;
  3. 設置Class字段NSTextFieldCellInterface Builder到您的子類;
  4. 設置border.xib文件到border(我不知道這個邊界的名稱);
  5. 關閉Draw Background;