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