[問題] expand tableview後layout亂跑

看板MacDev作者 (yavis)時間5年前 (2019/02/26 01:36), 編輯推噓5(5015)
留言20則, 4人參與, 5年前最新討論串1/1
各位前輩好, 雖然在其他群組發問過, 但依然無法解決, 如果有重複看到此篇文章的話先說聲抱歉, 最近遇到一個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

02/26 07:35, 5年前 , 1F
你確定sample code能重現你的問題嗎?我看你的影片很像有
02/26 07:35, 1F

02/26 07:36, 5年前 , 2F
收回已經展開的cell,但是sample code並沒有這回是,而且
02/26 07:36, 2F

02/26 07:36, 5年前 , 3F
sample code看起來是沒問題的
02/26 07:36, 3F

02/26 16:59, 5年前 , 4F
sample沒辦法重現, 且很正常的運作, 但不知道為什麼專案上
02/26 16:59, 4F

02/26 16:59, 5年前 , 5F
使用了custom cell就換發生此問題
02/26 16:59, 5F

02/26 17:01, 5年前 , 6F
另外這影片沒有使用到收回展開的場景, 可以排除此問題
02/26 17:01, 6F

02/27 10:43, 5年前 , 7F
看不出哪裡亂跑 冏
02/27 10:43, 7F

02/27 13:45, 5年前 , 8F
手機看不到sample code. Tableview在reload data時會重
02/27 13:45, 8F

02/27 13:45, 5年前 , 9F
算整體的高度 . Estimate height不對的話會讓current scr
02/27 13:45, 9F

02/27 13:45, 5年前 , 10F
oll position算不準.
02/27 13:45, 10F

02/27 13:48, 5年前 , 11F
在開發聊天室的時候有遇過相似的問題.滑倒一半如果tablev
02/27 13:48, 11F

02/27 13:48, 5年前 , 12F
iew因故要reload,則estimated height for row或header必
02/27 13:48, 12F

02/27 13:48, 5年前 , 13F
須要是很精確的數字.否則reload完後的position會跑掉
02/27 13:48, 13F

02/27 13:49, 5年前 , 14F
你這個看起來是不會太麻煩因為高度是固定的...不像聊天
02/27 13:49, 14F

02/27 13:49, 5年前 , 15F
的話可能每一個cell都不一樣
02/27 13:49, 15F

02/27 14:16, 5年前 , 16F
感謝egg大回覆,但我在height for row 已寫定Return uitabl
02/27 14:16, 16F

02/27 14:16, 5年前 , 17F
eviewautomaticdimension了,這樣該如何給定estimated heig
02/27 14:16, 17F

02/27 14:16, 5年前 , 18F
ht呢
02/27 14:16, 18F

03/02 11:35, 5年前 , 19F
就是得自己算那個cell最後長出來的高度囉
03/02 11:35, 19F

03/02 11:39, 5年前 , 20F
如果是uilabel的話可以參考https://reurl.cc/Xm69a
03/02 11:39, 20F
文章代碼(AID): #1ST2UxpK (MacDev)