iOS8SelfSizingCells icon indicating copy to clipboard operation
iOS8SelfSizingCells copied to clipboard

关于使用Self-Sizing的TableView的一个bug,希望能和你探讨。

Open KittenYang opened this issue 9 years ago • 7 comments

如果一个TableView使用了Self-Sizing,并且cell实现了didSelectRowAtIndexPath方法,点击cell之后present到一个VC,于是奇怪的事情发生了:

列表发生了跳跃,也就是跳到了其他cell。并且这时如果返回列表视图往上滚动滚动列表(注意是往上滚动)你会发现,所有之前self-sizing的cell位置都乱了,全部都发生了距离上的偏移。

目前我唯一能找到的不完全解决方法是:在viewWillDisappear中调用tableView.reloadData(),但这只能保证present的时候不出现跳跃,回到tableview往上滚动仍然会出现cell位置跳跃的情况。目前我只能猜测是iOS8的bug了。

KittenYang avatar Apr 09 '15 09:04 KittenYang

你好!有这么奇怪的事情吗?因为我没有做跳转的逻辑, 能否把bug截图给我看看吗?或者加我微信 KittenYang [email protected]于2015年4月9日星期四写道:

如果一个TableView使用了Self-Sizing,并且cell实现了didSelectRowAtIndexPath 方法,点击cell之后present到一个VC,于是奇怪的事情发生了:

列表发生了跳跃,也就是跳到了其他cell。并且这时如果返回列表视图往上滚动滚动列表(注意是往上滚动)你会发现,所有之前self-sizing的cell位置都乱了,全部都发生了距离上的偏移。

目前我唯一能找到的不完全解决方法是:在viewWillDisappear中调用tableView.reloadData() ,但这只能保证present的时候不出现跳跃,回到tableview往上滚动仍然会出现cell位置跳跃的情况。目前我只能猜测是iOS8的bug了。

— Reply to this email directly or view it on GitHub https://github.com/xhzengAIB/iOS8SelfSizingCells/issues/2.

xhzengAIB avatar Apr 10 '15 06:04 xhzengAIB

截图不是很方便,因为是动态的。你测试一下很简单,选中一个cell后self.navigationController?.presentViewController(anotherVC, animated: true, completion: nil)就能看到。

KittenYang avatar Apr 14 '15 16:04 KittenYang

https://github.com/xhzengAIB/iOS8SelfSizingCells/commit/84ebe45728101c17cda02bf2bf7638b6c3ff7a3e

xhzengAIB avatar Apr 15 '15 03:04 xhzengAIB

确认。iPhone5S/iOS8.1/真机,选择比较靠下的cell点击跳转,dismiss回来往上滑确认存在高度跳跃的情况。

img_4065

KittenYang avatar Apr 15 '15 15:04 KittenYang

@xhzengAIB 已完美解决 a62692b

KittenYang avatar Apr 20 '15 12:04 KittenYang

@KittenYang 你好! 你已经做了testing了吧?

xhzengAIB avatar Apr 20 '15 13:04 xhzengAIB

@xhzengAIB 是的,没有问题

KittenYang avatar Apr 20 '15 13:04 KittenYang