在我的應用程序中,在註冊屏幕上,我有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()'來調用這些方法? –