看板 MacDev 關於我們 聯絡資訊
各位前輩好, 雖然在其他群組發問過, 但依然無法解決, 如果有重複看到此篇文章的話先說聲抱歉, 最近遇到一個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, 裡頭邏輯跟結構跟影片上的專案一模一樣) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.163.116 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1551116219.A.CD4.html
darktt: 你確定sample code能重現你的問題嗎?我看你的影片很像有 02/26 07:35
darktt: 收回已經展開的cell,但是sample code並沒有這回是,而且 02/26 07:36
darktt: sample code看起來是沒問題的 02/26 07:36
yavis: sample沒辦法重現, 且很正常的運作, 但不知道為什麼專案上 02/26 16:59
yavis: 使用了custom cell就換發生此問題 02/26 16:59
yavis: 另外這影片沒有使用到收回展開的場景, 可以排除此問題 02/26 17:01
liyata: 看不出哪裡亂跑 冏 02/27 10:43
egg5233: 手機看不到sample code. Tableview在reload data時會重 02/27 13:45
egg5233: 算整體的高度 . Estimate height不對的話會讓current scr 02/27 13:45
egg5233: oll position算不準. 02/27 13:45
egg5233: 在開發聊天室的時候有遇過相似的問題.滑倒一半如果tablev 02/27 13:48
egg5233: iew因故要reload,則estimated height for row或header必 02/27 13:48
egg5233: 須要是很精確的數字.否則reload完後的position會跑掉 02/27 13:48
egg5233: 你這個看起來是不會太麻煩因為高度是固定的...不像聊天 02/27 13:49
egg5233: 的話可能每一個cell都不一樣 02/27 13:49
yavis: 感謝egg大回覆,但我在height for row 已寫定Return uitabl 02/27 14:16
yavis: eviewautomaticdimension了,這樣該如何給定estimated heig 02/27 14:16
yavis: ht呢 02/27 14:16
egg5233: 就是得自己算那個cell最後長出來的高度囉 03/02 11:35
egg5233: 如果是uilabel的話可以參考https://reurl.cc/Xm69a 03/02 11:39