簡體   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