gpt4 book ai didi

ios - 插入行后 UITableViewCell 动态高度中断

转载 作者:可可西里 更新时间:2023-11-01 00:17:14 25 4
gpt4 key购买 nike

我正在尝试使用 swift (iOS 8) 制作我的第一个 iOS 应用。

我有一个 UITableView 和一个 CustomCell。该应用程序是一种新闻自动收报机。启动应用程序后,它会从 Web 服务器加载所有新闻并将新闻保存到数组中。自定义单元格具有动态高度。我在 tableView:cellForRowIndexPath 中调用 cell.layoutIfNeeded() 以使动态单元格高度正常工作。否则单元格高度显示不正确。我发现那个提示 here在堆栈溢出。图片:After getting all news, the cells are displayed correctly

通过 SIOSocket,我得到一个包含新消息的事件,我想将它插入到 UITable 中。所以我创建了一个方法,将新闻插入我的数组,并在 beginUpdates()endUpdates() 之间调用 tableView.insertRowsAtIndexPath。这就是问题开始的地方。新单元格显示正确,但所有其他可见单元格都缩小到默认单元格高度 (44pt)。图片:After I added a new entry, the old cells are too small经过一些滚动后,单元格会更新并再次正确显示。

当我不使用 insertRowsAtIndexPath,而是使用 tableView.reloadData() 时,它就可以工作了。但我认为为每个新消息调用 reloadData 并不是一种好的风格。当然重载后就没有动画了……

任何人都可以解释为什么会发生这种情况,是否有任何解决方案可以解决该问题?谢谢

最佳答案

当我将 estimatedRowHeight 设置为任何值时,问题就消失了。

tableView.estimatedRowHeight = 44

viewDidLoad方法中完全解决了我的问题。

关于ios - 插入行后 UITableViewCell 动态高度中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27558406/

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