在我的应用程序中,在注册屏幕上,我有tableView
,它在每个单元格中包含UITextField
,在页脚中包含Submit按钮。一切正常,除非我在最后的TextField
中输入值并点击提交按钮(不退出键盘)。我的功能没有显示值,因为仅当文本编辑结束时才输入值。我正在使用委托来获得价值。iOS UITextField resignFirstResponder问题
我的代码是:
在customcell.m:
- (void)textFieldDidEndEditing:(UITextField *)textField {
if ([textField.text length] >0) {
[self.cellImageview setImage:editImage];
}
else{
[self.cellImageview setImage:defaultImage];
}
[_delegate signUpTableCell:self didUpdateValue:textField.text inTextField:textField];
}
在我的viewController:
-(void)signUpTableCell:(SignUpTableCell *)cell didUpdateValue:(NSString *)value inTextField:(UITextField *)textField {
NSLog(@"cell:%@ value: %@ textfield value:%@ ", cell, value, textField.text);
[registerDictionary setValue:value forKey:textField.placeholder];
NSLog(@"registerDictionary:%@", registerDictionary);
}
问题:
最后文本字段值是零,当我点击在提交按钮上,可能是因为 除非textField结束编辑,否则 不会接到呼叫。如果我在空旷的地方点击并放弃键盘,它就可以正常工作。有没有解决这个问题的工作?
是的,我没有,没有工作。它辞去第一响应者,但无法获得值 –
因此,你的键盘实际上消失了,你的'textFieldDidEndEditing()'方法被调用,但didUpdateValue()'不被调用?你能否通过手动调用'resignFirstResponder()'来调用这些方法? –