【发布时间】:2014-01-05 00:33:54
【问题描述】:
编辑: 简而言之: 如何防止uitableview在旋转时调用cellForRowAtIndexPath?
我有 uitableview 的全屏模式。 在该模式下,每个单元格都是 ipad 屏幕的大小。 uitableview 和单元格正在使用转换进行水平滚动。 uitableview 设置为 pagingEnabled = YES
当我旋转设备时,我会布置所有框架/实体并调用
开始更新 结束更新
不调用 reloadData,这只会更新单元格高度。
在旋转开始之前,我保存了当前可见单元格的索引路径 ,然后,在 willAnimate..rotate..method 中,我滚动到那个 indexpath,这样用户就会看到正确的单元格。
问题出在某些情况下,特别是如果 uitableview 滚动条位于表格中间,则 uitableviewcell 将卸载,而 uitableview 将加载不同的 uitableviewcell。
我的问题是: 我想知道是否有什么可以告诉 uitableview 在旋转时不要“触摸”单元格/重新加载/卸载。
我知道机会很低,但我想知道其他人如何处理当前可见单元格具有复杂界面 + 正在播放视频等情况,并且您不想在旋转时停止活动,用简单的方法来做到这一点。
希望我在这里很清楚。
【问题讨论】:
-
单元格未卸载。它们被重复使用。
-
如果我理解正确,您不希望 cellForRowAtIndexPath 在更改方向时更改可见单元格中的数据?
-
@PetroKorienev 你是对的。我的意思是防止可见单元格,如果旋转则不能重复使用。
-
@Refael.S mmmm 一种查看方式是如何防止 uitableview 在旋转时调用 cellForRowAtIndexPath。
标签: ios uitableview