我的应用程序是基于Feed的应用程序(想想Instagram)。实际上,它与Instagram非常相似 - 不同之处在于,不是图片,而是一个可滑动的分页视图,包含不同的对象(链接到演示):
https://www.youtube.com/watch?v=EYTjA3Bcv_A&feature=youtu.be
可滑动功能源自此类:https://github.com/nicklockwood/SwipeView
在我的UITableViewController
课程中,我试图通过实施tableView.dequeueReusableCellWithIdentifier
来保持记忆效率。这会产生的问题是,当您滚动并且单元格正在出列时,单元格的可重用性质会带来旧数据。
我的问题是我想保留用户在仍然实现tableview.dequeueReusableCellWithIdentifier
时刷过的SwipeView中的哪个对象。
SwipeView
处理此问题的属性为currentItemIndex
。这将管理当前在SwipeView中居中的项目。当然,Feed中的每个SwipeView
都应该记住自己的currentItemIndex
,但是出列的单元格会从正在重用的单元格中携带旧的currentItemIndex
。这可以在设置新(重用)单元格时重置:cell.swipeView.currentItemIndex = 0
,然后旧单元格在重用时丢失其currentItemIndex
。
原始问题的视频:http://youtu.be/CXTHyvF3adI(查看旧currentItemIndex
在SwipeView
小区之间如何转移)
视频问题时重复使用单元格时会重置currentItemIndex
:http://youtu.be/VBw8Rm-s5Qk(请参阅SwipeView
单元格如何记住它们被刷到哪个项目)
有没有人有关于如何实现这一目标的想法?
提前感谢所有人!
答案 0 :(得分:0)
这就是PrepareForReuse方法的用途