作者yavis (yavis)
看板MacDev
标题[问题] expand tableview後layout乱跑
时间Tue Feb 26 01:36:56 2019
各位前辈好, 虽然在其他群组发问过, 但依然无法解决,
如果有重复看到此篇文章的话先说声抱歉,
最近遇到一个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://webptt.com/cn.aspx?n=bbs/MacDev/M.1551116219.A.CD4.html
1F:→ darktt: 你确定sample code能重现你的问题吗?我看你的影片很像有 02/26 07:35
2F:→ darktt: 收回已经展开的cell,但是sample code并没有这回是,而且 02/26 07:36
3F:→ darktt: sample code看起来是没问题的 02/26 07:36
4F:→ yavis: sample没办法重现, 且很正常的运作, 但不知道为什麽专案上 02/26 16:59
5F:→ yavis: 使用了custom cell就换发生此问题 02/26 16:59
6F:→ yavis: 另外这影片没有使用到收回展开的场景, 可以排除此问题 02/26 17:01
7F:→ liyata: 看不出哪里乱跑 冏 02/27 10:43
8F:推 egg5233: 手机看不到sample code. Tableview在reload data时会重 02/27 13:45
9F:→ egg5233: 算整体的高度 . Estimate height不对的话会让current scr 02/27 13:45
10F:→ egg5233: oll position算不准. 02/27 13:45
11F:推 egg5233: 在开发聊天室的时候有遇过相似的问题.滑倒一半如果tablev 02/27 13:48
12F:→ egg5233: iew因故要reload,则estimated height for row或header必 02/27 13:48
13F:→ egg5233: 须要是很精确的数字.否则reload完後的position会跑掉 02/27 13:48
14F:推 egg5233: 你这个看起来是不会太麻烦因为高度是固定的...不像聊天 02/27 13:49
15F:→ egg5233: 的话可能每一个cell都不一样 02/27 13:49
16F:→ yavis: 感谢egg大回覆,但我在height for row 已写定Return uitabl 02/27 14:16
17F:→ yavis: eviewautomaticdimension了,这样该如何给定estimated heig 02/27 14:16
18F:→ yavis: ht呢 02/27 14:16
19F:推 egg5233: 就是得自己算那个cell最後长出来的高度罗 03/02 11:35