我的目标只是在用户单击键盘上的完成按钮后将文本保存在 UITextField 上。我可以在 extFieldShouldReturn 或 textFieldDidEndEditing 中执行此操作:有什么区别吗?还是有更好的方法?
Thanks!!
仅当用户按下返回键时才调用 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)