gpt4 book ai didi

ios - 单点触控 : Force UITableView to recalculate height of each cell without reloading data

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

我有一个使用 OwnerDrawnElement 创建的自定义单元格,其中包含可自动调整大小的 UITextView。当文本更改时,应该进行适当的布局重绘和单元格高度重新计算。问题是如何保存键盘打开。UITableView 中有一个方法 - ReloadRows 实际上以某种方式帮助了我。我不能为我的手机打电话,因为它是第一响应者,我不能辞职。但是当我为另一个单元格调用它时,我的单元格正在根据需要调整大小,但我没有必要重新绘制另一个单元格。所以我想知道调用什么方法来重新布局 UITableView 而不是重新加载数据?!当您上下滚动、单元格变为可见并重新计算高度时,可能会调用相同的方法。

我试过标准的 SetNeedsDisplay()、SetNeedsLayout()、ReloadInputViews()、LayoutSubviews(),但效果不一样。也许我需要以不同的方式使用它们。我尝试为单元格和整个 tableview 对象调用它们。

我查看了 ReloadRows 方法,发现它调用了一些 API 内容:

Messaging.void_objc_msgSendSuper_IntPtr_int(base.SuperHandle, UITableView.selReloadRowsAtIndexPathsWithRowAnimation_, nSArray.Handle, (int)withRowAnimation);

因此,在不重新加载数据的情况下,什么方法也不会强制 tableview 重新计算每个单元格的高度。

你能帮我吗?

最佳答案

尝试更新单元格框架,然后调用 UITableView 的空更新 block :

tableView.BeginUpdates();
tableView.EndUpdates();

关于ios - 单点触控 : Force UITableView to recalculate height of each cell without reloading data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14514391/

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