2013-01-02 69 views
1

背景: 我有三行與被從TableDataSource填充定製UITextFields一個UITableView。這些文本字段中的默認文本也從數據源填充(數據庫字段的默認值)。顯示佔位符文本通過數據源創建

我能夠在用戶選擇/點擊特定UITextField時自動清除UITextField。

問題: 如果用戶選擇特定的UITextField但隨後移動到另一個的UITextField沒有編輯文本,然後我想重新出現原來的默認文本。我曾嘗試在代理的'didEndEditing'方法中將UITextField設置爲nil,但這並不起作用。

有人可以請告知,如果他們知道一種方法來完成此?

回答

2

你可以簡單的做用它的UITextFieldplaceholder屬性,但該文本將顯示爲一點點模糊的方式,如果你想顯示以前的值,那麼你可以採用如下方案:

你可以做它使用textFieldDidEndEditing委託方法。

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    if(textField.text.lenght == 0) 
    { 
     textField.text = yourPreviousText; 
    } 
} 

而且在textFieldShouldBeginEditing

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    yourPreviousText = textField.text; 
} 

yourPreviousText是在類範圍內聲明的NSString對象。

0

解決方案: 我正在使用UITextfield.text屬性設置佔位符文本。我應該使用UITextField.placeholder屬性。設置此屬性會自動確保佔位符文本消失並基於用戶執行的編輯再次出現。在嘗試弄清楚用戶輸入/未輸入的內容方面做了很多工作。