我想用swift(iOS 8)创建我的第一个iOS应用程序。插入行后,UITableViewCell动态高度中断
我有一个UITableView和一个CustomCell。 该应用程序是一种新闻股票。启动应用程序后,它会加载来自Web服务器的所有新闻并将新闻保存到数组中。 自定义单元格具有动态高度。我在tableView:cellForRowIndexPath
中打电话给cell.layoutIfNeeded()
以使动态细胞高度正确工作。否则,单元格高度显示不正确。我发现提示here处于堆栈溢出状态。 图片:After getting all news, the cells are displayed correctly
随着SIOSocket我得到一个新消息的事件,我想把它插入UITable。 所以我创建了一个方法,将新闻插入到我的数组中,并调用,endUpdates()
之间的tableView.insertRowsAtIndexPath
。 这里是问题出现的地方。新的单元格显示正确,但所有其他可见单元格缩减为默认单元格高度(44pt)。 图片:After I added a new entry, the old cells are too small 一些滚动后,细胞更新,现在再次正确显示。
当我不使用insertRowsAtIndexPath
,但tableView.reloadData()
,那么它的工作。但我认为为每个新消息调用reloadData并不是一种好的方式。当然,重新加载后没有动画...
任何人都可以请解释为什么会发生这种情况,是否有解决方案来解决这个问题? 谢谢
这对我不起作用。如果您在“设置应用/辅助功能”中将文字大小设置得非常大,这是否适用于您? – SAHM 2015-03-30 18:32:31