我试图使用UITableViewCell委托从UITextField动态更新一个UItextfields,但是它总是后面的一个字符。
因此,如果我将字母h输入UITextView,那么在UITableViewCell中不会发生任何事情,但是如果我向hi再键入一封信,那么在UITableViewCell中只会看到h
这是我的密码
#pragma mark - UITextView delegate
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSUInteger newLength = (textView.text.length - range.length) + text.length;
if ([text isEqualToString:@"\n"]) {
return NO;
}
if(newLength <= MAX_LENGTH)
{
if (filterTextView.tag == 1) {
filterButtonsTableViewController.doorFilterString = textView.text;
[filterButtonsTableViewController.tableView reloadData];
} else if (filterTextView.tag == 2) {
filterButtonsTableViewController.doorFilterString = textView.text;
[filterButtonsTableViewController.tableView reloadData];
}
return YES;
} else {
return NO;
}
}如何使UITableViewCell能够同时使用正确的值进行更新?
发布于 2014-04-10 12:34:35
当您正在实现shouldChangeTextInRange:时,文本还没有改变。尝试实现textViewDidChange:或将replacementText:(NSString *)text中的更改合并到您的实现中。
https://stackoverflow.com/questions/22988144
复制相似问题