楼主:
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都不一样