0

我正在尝试使用 UItextfields 委托从 UITextField 动态更新 UITableViewCell,但它始终是后面的字符。

因此,如果我在 UITextView 中键入字母h,则 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 同时更新为正确的值?

4

1 回答 1

1

在您实施shouldChangeTextInRange:时,文本尚未更改。尝试实施textViewDidChange:或合并实施中给出的更改replacementText:(NSString *)text

于 2014-04-10T12:34:35.770 回答