我的應用程序有一個NSTableView的左側(主)和文本框右側(詳細信息)如何在使用綁定的NSTextField中以編程方式替換「No Selection」佔位符?
我使用的核心數據&結合以獲得顯示的記錄。
我有一個與NSObjectController綁定的文本文件。這是一個日期字段,我在文本字段中添加了NSDateFormatter。
我的目標是:在該文本字段上使用用戶系統默認日期格式佔位符。我已經實現了用下面的代碼
.H代碼:(僅相關的代碼張貼)
@property (weak) IBOutlet NSDateFormatter *offerExpiresOnDateFormatter;
@property (weak) IBOutlet NSTextField *offerExpiresOnDateTextField;
與.m代碼:
-(void)viewWillAppear {
[_offerExpiresOnDateFormatter setDateStyle:NSDateFormatterShortStyle];
[_offerExpiresOnDateTextField setPlaceholderString:[_offerExpiresOnDateFormatter dateFormat]];
}
這一切工作。
我的問題:
它的工作原理,只有當應用程序負載(因爲我用viewWillAppear中)。
佔位符以dd/mm/yy格式顯示,我的系統默認格式。但是,如果在NSTableView中單擊空行,我的佔位符將消失,並顯示「無選擇」佔位符。
我該如何預防?
當用戶單擊NSTableView中的空行時,如何顯示我的dd/mm/yy佔位符?
我不能只在綁定檢查器下的NSTextField No Selection Placeholder中鍵入dd/mm/yy,因爲我不知道用戶將作爲系統默認值具有什麼功能。
試圖拖動和從對象庫滴'NSDateFormatter'對象'NSTextField'在故事板,並設置日期和時間風格屬性檢查器。註釋掉你的代碼並嘗試這種方式。 – Khundragpan
嘗試綁定沒有選擇佔位符到您的視圖控制器的關鍵路徑'offerExpiresOnDateFormatter.dateFormat'。 – Willeke
@Willeke,你能告訴我該怎麼做嗎? – user2417624