作者:
yavis (yavis)
2019-02-26 01:36:56各位前輩好, 雖然在其他群組發問過, 但依然無法解決,
如果有重複看到此篇文章的話先說聲抱歉,
最近遇到一個expand tableview問題,
點擊某個header後展開後,
往下滑在點擊其他header, 畫面會亂跑, (如下面連結影片所示
https://drive.google.com/open?id=1yawWV1GfZQ32dT1hVIYFWPaIXAcre-ct
網路上的解法有試過設定
estimatedrowheight,
estimatedheaderheight,
estimatedfooterheight = 0,
與點擊header時reload採用
reload row, reload section,
UIView.performWithoutAnimation { tableview.reloadData() }
都沒辦法解決,
想請教板上前輩是否有好的解決方案,
或是我遺漏了什麼步驟, 謝謝
(最後補上sample src code,
https://drive.google.com/open?id=1SD6OtC-i3P3Zxc1Dpn81Ncvm7sF0r-Ce
這是我另外寫的sample code,
裡頭邏輯跟結構跟影片上的專案一模一樣)
作者:
yavis (yavis)
2019-02-26 16:59:00sample沒辦法重現, 且很正常的運作, 但不知道為什麼專案上使用了custom cell就換發生此問題另外這影片沒有使用到收回展開的場景, 可以排除此問題
作者:
egg5233 (egg)
2019-02-27 13:45:00手機看不到sample code. Tableview在reload data時會重算整體的高度 . Estimate height不對的話會讓current scroll position算不準.在開發聊天室的時候有遇過相似的問題.滑倒一半如果tableview因故要reload,則estimated height for row或header必須要是很精確的數字.否則reload完後的position會跑掉你這個看起來是不會太麻煩因為高度是固定的...不像聊天的話可能每一個cell都不一樣