在gridview中使用无限滚动IOS进行垂直和水平滚动

时间:2012-05-09 11:11:12

标签: iphone ios uiscrollview rubiks-cube

如何在网格视图中同时启用水平和垂直滚动?

如果我有一个4x4网格的缩略图,我想实现向左/向右和向上/向下两个方向的滑动。目前我已完成左右滑动,但如果我选择第二个单元格并向上滑动,则第二行应该像Rubik的立方体一样滚动。

如果有任何想法,请分享。

2 个答案:

答案 0 :(得分:3)

自从你的问题已经有一段时间了,但是由于我一直在努力解决同样的事情,我会回答它以供将来参考......

可悲的是,我无法在任何地方找到一个好的解决方案,所以在经过大量的实验后我想出了这个:https://github.com/AlvinNutbeij/DWGridController

这仍然是一项正在进行中的工作,但我会说,它非常适用于你的目的!

答案 1 :(得分:0)

您目前如何实施所拥有的内容?你提到'细胞'听起来好像你正在使用UITableView。您无法在两个方向上进行其中一个滚动,您需要使用UIScrollView

我建议你从WWDC 2010观看“使用滚动视图设计应用”,然后从WWDC 2011观看“高级滚动视图技术”。这将教你如何实现平铺和无限滚动。

基本上你想要做的是自己实现某种视图回收,就像UITableView回收它的单元格一样。当事物从滚动视图的一侧滚动时,您将删除刚刚滚出屏幕并将它们放入队列的视图。当事物滚动到屏幕上时,您将视图从队列中拉出(或者如果队列为空则创建新视图)并将这些视图放在正确的位置。

要进行无限滚动,你可以假装它:当你的滚动视图靠近它的边缘时,你重新定位其中的所有内容,你将滚动视图的内容偏移移动到你重新定位视图的位置,然后你继续从那里:这一切都是马上完成的,所以用户从不会注意到。

视频会比我在这里总结的更好地解释这些技巧:将它们视为您的第一个接听点。