在 UITableViewCell 中动态调整 UItextView 的大小



我在UITableViewCell里有一个UITextView。我正在尝试动态调整textView的大小.

-(void)textViewDidChange:(UITextView *)textView
{
    CGFloat fixedWidth = textView.frame.size.width;
    CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
    CGRect newFrame = textView.frame;
    newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
    textView.frame = newFrame;
    [self.myTableView beginUpdates];
    [self.myTableView endUpdates];
}

在我输入的每个字符之后,整个视图会跳到顶部,然后直接跳回我所在的位置。

解决方案可能是带走begin/endUpdates .当我这样做时,textView会正确调整大小,但单元格的高度不会改变。

问题:

如何使textViewtableVIewCell动态调整大小?

您只需要重新加载添加了 TextView 的特定单元格。试试这个

[self.myTableView beginUpdates];
 [self.myTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPathOfYourCell] withRowAnimation:UITableViewRowAnimationNone];
 [self.myTableView endUpdates];

最新更新