簡體   English   中英

除非編輯,否則 NSTextField 占位符文本不會顯示

[英]NSTextField placeholder text doesn't show unless editing

我在 Interface Builder 中設置了我的 NSTextField 的占位符文本,但直到我在文本字段內單擊以對其進行編輯時,占位符文本才會顯示。

您是否嘗試過通過代碼設置占位符? 例如這樣的事情:

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

您是否在 Interface Builder 中綁定了 NSTextField 數據? 如果是這樣,您必須在實用程序檢查器的綁定選項卡中設置“多值占位符”、“無選擇占位符”和“空占位符”。 在此期間,您也可以設置“無適用占位符”。

這是我解決這個問題的方法:

  1. 子類NSTextFieldCell ;
  2. 覆蓋- (void)drawWithFrame:(NSRect)cellFrame- (void)drawInteriorWithFrame: (如果需要) NSCell ,並將您需要的所有繪圖代碼放在這些方法中。 不要忘記調用super實現;
  3. Interface BuilderNSTextFieldCell Class字段設置為您的子類;
  4. .xib文件中的border設置為邊界 (我不知道這個邊界的名字);
  5. 關閉Draw Background

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM