UI TextField Delegate方法textFieldShouldReturn:的返回值是什么意思?

jca*_*ll1 2 cocoa-touch ios

苹果文档提供:

询问代表文本字段是否应处理返回按钮的按下。

- (BOOL)textFieldShouldReturn:(UITextField *)textField
Run Code Online (Sandbox Code Playgroud)

参数textField按下返回按钮的文本字段。 Return Value YES文本字段是否应为返回按钮实现其默认行为;否则,NO

讨论每当用户点击返回按钮时,文本字段都会调用此方法。轻按按钮时,可以使用此方法实现任何自定义行为。

我的问题是返回值做什么?我已经在此方法中实现了行为,因此返回的结果没有区别。这不是执行操作的正确方法吗?

例如,如果实现搜索功能,则应在此方法或其他地方触发搜索操作。

rma*_*ddy 6

这是在用户点击“返回”键盘键(无论它是否贴有标签)时触发操作的正确方法。

textFieldShouldReturn:委托方法的返回值几乎没有关系。如果您要处理的是单个文本字段,则绝对没有关系。

前一段时间我碰到一个问题,使我意识到,在正确的情况下,返回值确实很重要。我的屏幕上有几个文本字段,然后有一个文本视图。我正在使用此文本字段委托方法来将第一个响应者从文本字段更改为文本字段再更改为文本视图。我发现如果我返回YES此委托方法,然后将文本视图设为第一响应者,则将换行符发送到文本视图。

因此,NO为了安全起见,我现在总是从此委托方法返回。