我想实现feedly风格的UITableView / UIScrollView (但水平)。我正在寻找一些信息,以适当的方式做这件事,但找不到任何有用的信息。如果你不知道我所说的"feedly样式的表格视图滚动“是什么意思,这里有一个带有滚动feedly屏幕的简短youtube movie的链接
如果有任何提示、想法和开源项目能对这种方法有所帮助,我将不胜感激。
发布于 2014-04-29 14:38:07
我找到了PBGroupScrollController,它就是我想要的。我会给它一个机会,并测试它。即使它需要一些改进,这也是一个非常好的起点!感谢piotrbernard。
发布于 2014-04-16 08:08:20
停止寻找表格或滚动视图。甚至不是集合视图。
好吧,坦率地说,滚动视图可以做到这一点,但你很容易迷失在滚动视图的几何形状中。
您需要一种通过响应触摸手势来手动滚动视图(而不是UIScrollViews)的方法。我不知道有没有一个好的例子或者教程是由heard提供的。但是如果你在谷歌上搜索facebook风格菜单的示例代码,那么你会发现一些甚至水平地做这类事情的代码。
基本思想是将视图控制器与视图堆叠在一起(我不建议这样做),或者让一个视图控制器具有多个视图(两个或三个),其中两个或三个视图占满整个屏幕,其中一个位于另一个的顶部,而不是下面视图的子视图。事实上,所有2个或3个视图都是兄弟视图,但顶部的视图后来被添加到公共superview中,或者被移到顶部。我会先在下面添加视图,然后添加可见视图,然后在屏幕外的顶部添加视图。
所以,看看这些教程中的一个,并学习如何根据触摸手势拖动视图。它出奇的简单。这只是因为在cocoa touch中没有内置的控件可用。
因此,对于您希望能够将其中一个视图移出屏幕的两个视图,请执行此操作。为了方便用户,只要拖动到窗口顶部附近的某个点,就添加将顶视图动态移出屏幕的部分。
一旦你实现了这一点,添加第三个视图-如果你想的话。第三个视图从一开始就不在屏幕上,可以向下拖动。您可以应用几乎相同的逻辑,但是当手势从屏幕的最顶部区域开始时,它将应用于要向下拖动的顶部视图。
一旦你可以用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可以被拖到屏幕上。
以无休止的方式责备他们甚至可能更容易一些。使用对象10作为对象0,使用对象1作为对象11,并从那里继续。
https://stackoverflow.com/questions/23096299
复制相似问题