我正在做一个这样的表视图:推特和评论;enter image description here
我尝试了几种架构,对此我没有找到足够的问题和讨论。我认为这是一个非常有意义的问题,所以我发布了这些架构的性能和局限性。
首先,使用整个单元格作为带有注释的推特,这些注释视图将根据model.Cell使用自调整大小的自动布局高度生成。
如果推特有很多评论(30条或更多),这种架构可以work.But,在旧的iPhone(4s,5,5s等等)中,fps将下降到40。滚动smooth.This性能瓶颈是该架构的唯一弱点。
其次,由于性能瓶颈,我想也许我可以把一个评论表视图放在一个twitter cell.And的twitter单元格和嵌入的评论单元格使用自调整大小的自动布局高度,too.But经过尝试,我发现推特单元格不能确认它的高度,因为嵌入的评论表视图不能确认它的高度itself.So我需要计算嵌入的评论表视图的高度来确认twitter单元格的高度。这种架构运行良好,too.But的性能瓶颈与first架构相同。
第三,也是最重要的,使用小节标题作为推特,单元格作为comment.That,小节是带有comments.Section标题和单元格的整个推特,两者都使用自调整大小的自动布局高度。
这个架构的性能是最好的,即使是推特上有和50+一样多的评论,在iPhone5下也能很流畅地滚动,fps至少是55。但是有一些奇怪的问题我解决不了。
我滚动到底部后,tableview会重新加载下一个page.After reloadData,第一个小问题是版面标题被取消,但滚动后出现了这个问题(后来我发现如果我设置了tableview header,这个问题就出现了,如果我去掉tableview header,这个问题就消失了,好困惑).Second更重要的问题是,如果我向上滚动,tableview会“跳转”.Below是gif演示。(对不起,我不知道怎么发布大的gif到StackOverflow ) https://github.com/yutanchi/GroupTableViewSectionHeaderJump/blob/master/tableviewjump.gif
我认为原因是tableview使用的是预估的节标题高度,而不是实际的节标题高度。我搜索了很多信息,但没有任何帮助。我非常困惑,如果节标题的自调整大小机制与单元格的自调整大小mechanism.Why相同,则自调整大小的单元格可以执行正确的行为,而自调整大小的节标题则不能。因为这种架构具有明显的性能优势,所以我想确定自调整节头有什么问题,解决这些恼人的问题,并使用architecture.Can有人解释或讨论这一点?
发布于 2017-09-28 17:28:28
为此,您必须将所有约束左、右、上、下给所有元素。也是1-in viewDidLoad集合如下
self.yourtableView.estimatedRowHeight= your estimated_height_for_Cell
yourtableView.rowHeight = UITableViewAutomaticDimension2-将属性检查器中标签的行数设置为零。
https://stackoverflow.com/questions/43449915
复制相似问题