[英]iOS UITextField resignFirstResponder issue
在我的应用程序中,在注册屏幕上,我有tableView
,其中每个单元格包含UITextField
,而在页脚中包含Submit按钮。 一切正常,除非当我在最后一个TextField
输入值并点击Submit按钮(无需退出键盘)时。 我的函数没有显示值,因为仅在文本编辑结束时才输入值。 我正在使用Delegate获得价值。
我的代码是:
在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值为nil,这可能是因为-(void)signUpTableCell:(SignUpTableCell *)cell didUpdateValue:(NSString *)value inTextField:(UITextField *)textField
不会调用,除非textField结束编辑。 如果我在空白处单击并辞职键盘,它就可以正常工作。 是否有解决此问题的方法?
单击按钮时是否尝试手动调用resignFirstResponder()
?
在提交按钮中添加以下代码:
[self.view endEditing:yes];
或使用
[self.yourTableview.scrollView endEditing:yes];
通过在我的代码中进行少量更改来修复它。 我用过[self.view endEditing:yes];
在我从registerDictionary
获得值之后。 我真笨
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.