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