我正在尝试使用swift(iOS 8)制作我的第一个iOS应用程序.
我有一个UITableView和一个CustomCell.该应用程序是一种新闻自动收报机.启动应用程序后,它会从Web服务器加载所有新闻并将新闻保存到阵列中.自定义单元格具有动态高度.我打电话cell.layoutIfNeeded()
的tableView:cellForRowIndexPath
正确获取动态小区高空作业.否则,单元格高度无法正确显示.我发现这里的堆栈溢出提示.图片:获取所有新闻后,单元格显示正确
使用SIOSocket我得到一个带有新消息的事件,我想将它插入UITable.所以,我创建了一个插入新闻到我的数组并调用方法tableView.insertRowsAtIndexPath
之间beginUpdates()
,endUpdates()
.这就是问题的起点.新单元格正确显示,但所有其他可见单元格缩小为默认单元格高度(44pt).图像:添加新条目后,旧单元格太小
在进行一些滚动后,单元格会更新,现在可以再次正确显示.
当我不使用insertRowsAtIndexPath
,但是tableView.reloadData()
,它的工作.但我认为为每一条新闻调用reloadData都不是好事.当然重装后没有动画......
任何人都可以解释为什么会发生这种情况,是否有任何解决方案来解决这个问题?谢谢