3
我的目標只是在用戶單擊完成按鈕後在UITextField上保存文本按鈕。我可以在extFieldShouldReturn或textFieldDidEndEditing中做到這一點:它有什麼區別?或者有更好的方法?保存UITextField測試的最佳方法:textFieldShouldReturn或textFieldDidEndEditing
謝謝!
我的目標只是在用戶單擊完成按鈕後在UITextField上保存文本按鈕。我可以在extFieldShouldReturn或textFieldDidEndEditing中做到這一點:它有什麼區別?或者有更好的方法?保存UITextField測試的最佳方法:textFieldShouldReturn或textFieldDidEndEditing
謝謝!
僅當用戶按下返回鍵時才調用textFieldShouldReturn。如果由於某些其他原因(如用戶選擇另一個字段或將視圖切換到另一個屏幕等原因而導致鍵盤被解除),則不會是textFieldDidEndEditing。
最好的方法是使用textFieldShouldReturn辭職響應(隱藏鍵盤)是這樣的:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
//hide the keyboard
[textField resignFirstResponder];
//return NO or YES, it doesn't matter
return YES;
}
當鍵盤關閉,textFieldDidEndEditing將被調用。然後,您可以使用textFieldDidEndEditing做一些與文本:
- (BOOL)textFieldDidEndEditing:(UITextField *)textField
{
//do something with the text
}
但是,如果你真的想,只有當用戶明確按下執行操作的「走出去」或「發送」或「搜索」(或其他)鍵盤上的按鈕,那麼你應該把該處理的textFieldShouldReturn方法來代替,就像這樣:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
//hide the keyboard
[textField resignFirstResponder];
//submit my form
[self submitFormActionOrWhatever];
//return NO or YES, it doesn't matter
return YES;
}
這是否意味着我應該使用textFieldDidEndEditing或有更好的方法嗎? – user836026 2012-02-01 19:12:09
查看更新的答案。 – 2012-02-01 19:12:57
謝謝..即使用戶沒有點擊「完成」按鈕,即使用戶按下「主頁」按鈕,我也想保存文本。我從你的答案理解我應該使用「textFieldShouldReturn」,對吧? – user836026 2012-02-01 19:28:14