当我在文本字段中输入时,我必须解除键盘控制,因此我使用textFieldShouldReturn
:方法,其中我使用[textField resignFirstResponder]
。直到这里它还好。
我觉得奇怪的是,如果我将YES
或NO
返回给此方法,则行为保持不变。我检查了文档,它说你应该只返回YES来实现默认行为,否则返回NO
。他们在文档中提到了哪个默认实现?我没弄明白。
答案 0 :(得分:0)
只需在键入return键时调用此方法。如果你返回NO,这将被忽略。如果要关闭键盘返回YES。
您也可以拨打[textField resignFirstResponder]
textFieldDidEndEditing:如果你想在编辑textField时解雇键盘。
答案 1 :(得分:0)
Document明确指出:
请注意,此方法仅提供有关是否的建议 编辑应该结束。即使你从这个方法返回NO,它也是 编辑可能仍然可能结束。例如,这可能发生 当文本字段被强制重新签署第一响应者状态时 从父视图或窗口中删除。
委托实现此方法是可选的。如果是 不存在,第一个响应者状态就像这个方法一样被辞职 已经返回YES。
如果您不想使用default behaviour
,请使用return NO
。
例如:
有些约束你不想解雇键盘或其他 textFields作为becomeFirstResponder,即使你点击其他 文本框。
如果您需要了解,请尝试以下方法:
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
if ([textField.text length]< 4) {
return NO;
// [self animateUItextField:self.txtNewPassword];
}else{
return YES;
}
}
澄清您的问题:
You are about to resign the textField manually, So there is nothing to deal with the return expression,