我有一个UITableViewController,它有编辑/保存和取消按钮。目前我正在显示5行自定义UITableViewCell。自定义UITableViewCell包含文本字段和标签。假设用户在第一个表格单元格中输入文本并点击“保存”,那么我将丢失输入/修改的文本。如果用户在输入/修改文本后点击返回键,则输入/修改的值将通过以下方式捕获:
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
.......code exists to capture value here
}
但另一方面,如果用户点击“保存”按钮而不返回文本字段,那么我将丢失输入/修改的值。在这里捕获用户输入的最佳方法是什么:
a)当用户返回文本字段时 - >我已经在做了 b)当用户点击保存按钮而不返回textfield / textview时 - > ????
提前谢谢, 拉马答案 0 :(得分:2)
您可以保留一个包含字符串的属性,因为它是使用委托方法输入的。类似的东西:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSMutableString *testString = [NSMutableString stringWithString:self.textField.text];
[testString replaceCharactersInRange:range withString:string];
self.stringInProgress = testString;
return YES;
}
另一种选择可能是调用[tableView endEditing]作为保存的第一件事,但我不是某些,它会触发textFieldShouldEndEditing:notification。