如何在网格视图中同时启用水平和垂直滚动?
如果我有一个4x4网格的缩略图,我想实现向左/向右和向上/向下两个方向的滑动。目前我已完成左右滑动,但如果我选择第二个单元格并向上滑动,则第二行应该像Rubik的立方体一样滚动。
如果有任何想法,请分享。
答案 0 :(得分:3)
自从你的问题已经有一段时间了,但是由于我一直在努力解决同样的事情,我会回答它以供将来参考......
可悲的是,我无法在任何地方找到一个好的解决方案,所以在经过大量的实验后我想出了这个:https://github.com/AlvinNutbeij/DWGridController
这仍然是一项正在进行中的工作,但我会说,它非常适用于你的目的!
答案 1 :(得分:0)
您目前如何实施所拥有的内容?你提到'细胞'听起来好像你正在使用UITableView
。您无法在两个方向上进行其中一个滚动,您需要使用UIScrollView
。
我建议你从WWDC 2010观看“使用滚动视图设计应用”,然后从WWDC 2011观看“高级滚动视图技术”。这将教你如何实现平铺和无限滚动。
基本上你想要做的是自己实现某种视图回收,就像UITableView回收它的单元格一样。当事物从滚动视图的一侧滚动时,您将删除刚刚滚出屏幕并将它们放入队列的视图。当事物滚动到屏幕上时,您将视图从队列中拉出(或者如果队列为空则创建新视图)并将这些视图放在正确的位置。
要进行无限滚动,你可以假装它:当你的滚动视图靠近它的边缘时,你重新定位其中的所有内容,你将滚动视图的内容偏移移动到你重新定位视图的位置,然后你继续从那里:这一切都是马上完成的,所以用户从不会注意到。
视频会比我在这里总结的更好地解释这些技巧:将它们视为您的第一个接听点。