繁体   English   中英

GroupView,使用自我调整大小的标题,重新加载后,如果我向上滚动,tableview将跳转

[英]Group TableView,using self sizing section header,after reload,if I scroll upward ,tableview will jump

我正在做一个这样的桌面视图:推特和评论; 在此输入图像描述

我尝试了几种架构。我没有找到足够的问题和讨论。 我认为这是一个非常有意义的问题,所以我发布了这些架构的性能和局限性。

首先,使用整个单元格作为带注释的twitter,注释视图将根据模型生成。细胞使用自定义自动布局高度。
这种架构可以工作。但是如果一个Twitter有很多评论(30或更多),在旧的iPhone(4s,5,5s等)中,fps将降至40.显然阻止滚动流畅。这个性能瓶颈是只有这个架构的弱点。

其次,由于性能瓶颈,我想也许我可以把一个评论tableview放在twitter单元格中。而twitter单元格和嵌入式评论单元格也使用自定义自动布局高度。但是经过尝试,我发现twitter单元格不能确认其高度,因为嵌入式注释tableview无法确认其高度本身。所以我需要计算嵌入式注释tableview的高度以确认twitter单元的高度。 这种架构也很有效。但它的性能瓶颈与第一架构相同。

第三,也是最重要的,使用节标题为twitter,单元格作为注释。也就是说,节是一个带注释的整个twitter。节标题和单元格都使用自定义自动布局高度。
这个架构的性能最好,甚至推特上有多达50多条评论,即使在iPhone5中,tableview滚动也非常流畅,fps至少是55.但是有一些我无法解决的奇怪问题。
我滚动到底部,tableview将重新加载下一页。在reloadData之后,第一个小问题是该部分标题解除,但在滚动后出现(稍后我发现如果我设置tableview标题,出现此问题,如果我删除tableview标题,这第二个也是更重要的问题是,如果我向上滚动,tableview将“跳”.Below是gif演示。(我不知道如何将大gif发布到StackOverflow,对不起) https: //github.com/yutanchi/GroupTableViewSectionHeaderJump/blob/master/tableviewjump.gif
我认为原因是tableview使用估计的节标题高度而不是实际节标题高度。 我搜索了很多信息,但没有什么可以帮助我。我很困惑,如果节标题的自我调整机制与单元格的自我调整机制相同。为什么自定义单元格可以执行正确的行为,自定义节标题执行不。 由于这种架构具有明显的性能优势,我想确定自行调整大小的标题有什么问题,解决这些烦人的问题并使用架构。有人可以解释或讨论这个吗?

为此,您必须将所有约束放在所有元素的最右上角。 此外,1-viewDidLoad设置如下

self.yourtableView.estimatedRowHeight= your estimated_height_for_Cell
yourtableView.rowHeight = UITableViewAutomaticDimension

2个行数为零对于属性检查器中的标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM