我想实现feedly样式UITableView / UIScrollView(但水平)。我正在搜索一些信息以正确的方式进行,但无法找到任何有用的信息。 如果你不知道我的意思是什么?" feedly style table view srolling"这是一个带有滚动屏幕的短youtube movie的链接
对于任何有助于这种方法的提示,想法和开源项目,我将不胜感激。
答案 0 :(得分:0)
我发现PBGroupScrollController正是我想要的。我会给它一个机会并测试它。即使它需要一些改进,这是一个非常好的开始!感谢piotrbernard。
答案 1 :(得分:-1)
停止查找表格或滚动视图。甚至没有收藏视图。
嗯,坦率地说,scrollview可以做到这一点,但你很容易迷失在滚动视图的几何体中。
您需要一种通过响应触摸手势来手动滚动视图(而不是UIScrollViews)的方法。听说过我不知道一个好的例子或教程。但是,如果你谷歌搜索Facebook样式菜单的示例代码,那么你会发现一些甚至水平地做这种事情。
基本思想是将视图控制器与其视图堆叠在一起,拖动最顶层视图(我不推荐)或者让一个视图控制器具有多个视图(两个或三个),其中两个/都填充了全屏和一个位于另一个顶部而不是下面的视图的子视图。 实际上,所有2或3个视图都是兄弟姐妹,但顶部的视图后来被添加到公共超级视图中或被移到顶部。我首先要在下面添加视图,然后添加可见视图,然后在屏幕上方添加视图。
请参阅其中一个教程并了解如何在触摸手势后拖动视图。这非常简单。只是在可可触摸中没有可用的内置控件。
为两个视图做这个,你希望能够将其中一个移出屏幕。为了方便用户,只要拖动窗口靠近窗口顶部的某个点,就会添加一个动画顶部视图的部分。
一旦你实现了添加第三个视图 - 如果你想要的话。第三个视图从一开始就在屏幕外,可以向下拖动。您可以应用几乎相同的逻辑但是当手势在屏幕的最顶部区域开始时,它将应用于要向下拖动的顶部视图。
一旦你可以用3个视图做到这一点 - 每个视图的大小与屏幕一样,其中一个被拖出屏幕,或者其中一个被从关闭拖到屏幕上,那么你只需要添加他们的无限方面。
假设您有一个包含大约10个对象的数组,您希望将其显示并拖动到屏幕中或拖出。然后你只需要3个视图来做到这一点。 首先,我们得到了对象5可见的情况 好吧,假设视图1(对象5)在屏幕上方不在屏幕上并且可以被拖动到屏幕中以隐藏与屏幕对齐的视图2(对象6)。但是,如果不将视图1(对象5)拖动到屏幕中,则将视图2(对象6)拖离屏幕。在视图2(对象6)下面是视图3(对象7)。仅当视图2(对象6)被拖离屏幕时,视图3(对象7)才会出现。
所以在你遇到这种情况之前: 视图1显示了对象5 视图2显示了对象6 视图3显示了对象7
然后移动发生,并且在移动即将完成的那一刻,然后你添加我已经提到的这种“分页”效果。您可以让被拖动的视图设置为动画以完成视图,直到它完全移动到屏幕或屏幕外。
如果将视图2移出屏幕,则只需移动通过3个视图显示的对象。之后,您已重置所有视图。视图1,再次隐藏在视图2下,两者都填满了屏幕。视图3具有相同的尺寸,但位于屏幕上方。但它们与显示的对象相关联如下: 视图1显示了对象4 视图2显示了对象5 视图3显示了对象6
如果移动是相反的方式,那么您可以按如下方式分配: 视图1显示了对象6 视图2显示了对象7 视图3显示了对象8
现在您已完全按照视频中所示的行为进行操作。您只需要决定是否希望视图在无限循环中滚动,或者是否希望它们结束。 当你希望它们结束时,想一个解决方案,其中视图0显示某种背景,视图10是最终的,这意味着没有视图11被拖入屏幕。
让他们以无尽的方式进行殴打甚至可能会更容易一些。 Juat使用对象10作为对象0,对象1作为对象11并从那里继续。