簡體   English   中英

iOS UITextField resignFirstResponder問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM