textFieldShouldendEditing 和 textfieldDidEndEditing 之间有什么区别,以及何时应该使用每种方法?
答案 0 :(得分:12)
<强> textFieldShouldEndEditing 强>:
询问代表是否应在指定的文本字段中停止编辑。
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
讨论当要求文本字段重新签名时,将调用此方法 响应者状态。当您的应用程序询问文本时可能会发生这种情况 用于重新对焦的字段或用户尝试更改编辑时 专注于另一个控制。然而,在焦点实际改变之前, 文本字段调用此方法为您的委托提供机会 决定是否应该。
通常,您将从此方法返回YES以允许文本 字段以辞退第一响应者状态。你可能会回来NO, 但是,如果您的代理人检测到无效内容 文本域。通过返回NO,您可以阻止用户切换 到另一个控件,直到文本字段包含有效值。
<强> textFieldDidEndEditing 强>:
告诉委托,指定的文本字段已停止编辑。
- (void)textFieldDidEndEditing:(UITextField *)textField
讨论 在文本字段重新启动其第一个响应者状态后调用此方法。您可以使用此方法更新委托的状态信息。例如,您可以使用此方法隐藏仅在编辑时可见的叠加视图。 委托实施此方法是可选的。
site:apple.com textFieldShouldendEditing
答案 1 :(得分:2)
textFieldShouldendEditing
上的:
你应该返回BOOL
值
是将辞职响应者,否则将留在原地
textfieldDidEndEditing
将被触发。
根据Apple
当要求文本字段重新签名第一响应者状态时,将调用此方法。
在文本字段重新启动其第一个响应者状态后调用此方法。