gpt4 book ai didi

ios - 更新行高后 UITableView 重复部分标题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:09 27 4
gpt4 key购买 nike

在我的 iOS 应用程序中,我在 tableview 单元格中有一个 UITextView。

当用户输入的文本所需的框架超过单元格的当前高度时,UITextView 以及单元格高度会扩展。

为了实现上述目标,我调用了 [tableView beginUpdates],然后调用了 [tableView endUpdates] 来重新加载单元格的高度。

上面的结果是重复的节标题与展开的单元格重叠。

有没有不用调用 [tableView reloadData] 就能解决这个问题的方法?

下面附上一些相关代码:

当有文本更改时,我验证文本是否适合当前 TextView ,如果不适合,单元格将扩展到新高度:

- (void)textViewDidChange:(UITextView *)textView {

CGFloat oldTextViewHeight = [(NSNumber *)[self.cachedTextViewHeightsDictionary objectForKey:indexPath] floatValue];

CGFloat newTextViewHeight = [textView sizeThatFits:CGSizeMake(textView.frame.size.width, CGFLOAT_MAX)].height + CELL_HEIGHT_PADDING;

if (newTextViewHeight > oldTextViewHeight ||
(newTextViewHeight != oldTextViewHeight && oldTextViewHeight != TEXTVIEW_CELL_TEXTVIEW_HEIGHT)) {

[self reloadRowHeights];

}
}

- (void)reloadRowHeights {
// This will cause an animated update of the height of the UITableViewCell
[self.tableView beginUpdates];
[self.tableView endUpdates];
}

同样重要的是要注意,我使用的是自定义节标题,这使得我的问题类似于此处提到的问题: UITableView Custom Section Header, duplicate issue

但是我无法使用上述问题的解决方案,因为我无法在用户输入文本的过程中为 tableView 重新加载数据。

最佳答案

尝试实现

tableView(_ tableView: UITableView, estimatedHeightForHeaderInSection section: Int)

如果你没有委托(delegate)方法

关于ios - 更新行高后 UITableView 重复部分标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28334491/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com