feedly 样式表/滚动视图

Posted

技术标签:

【中文标题】feedly 样式表/滚动视图【英文标题】:feedly style table/scroll view 【发布时间】:2014-04-15 23:25:03 【问题描述】:

我想实现 feedly 风格的 UITableView / UIScrollView(但水平)。我正在寻找一些信息以正确的方式进行操作,但找不到任何有用的信息。 如果你不知道我所说的“feedly style table view srolling”是什么意思,这里是一个简短的youtube movie 的链接,带有滚动的 feedly 屏幕

我将不胜感激任何可能有助于这种方法的提示、想法和开源项目。

【问题讨论】:

【参考方案1】:

我找到了PBGroupScrollController,这正是我想要的。我会给它一个机会并测试它。即使它需要一些改进,这也是一个非常好的开始!感谢piotrbernard。

【讨论】:

【参考方案2】:

停止寻找表格或滚动视图。甚至没有收藏视图。

坦率地说,滚动视图可以解决问题,但您很容易迷失在滚动视图的几何图形中。

您需要一种通过响应触摸手势来手动滚动视图(不是 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 并从那里继续。

【讨论】:

感谢您的回答。我会做更多调查,然后让你知道......

以上是关于feedly 样式表/滚动视图的主要内容,如果未能解决你的问题,请参考以下文章

滚动视图内不可滚动的表视图

滚动视图中不可滚动的表视图

自定义标签渲染器在 Xamarin iOS 的滚动列表视图中显示错误的文本样式

表视图行中集合视图的同步水平滚动

什么样的滚动视图包含 2 个表视图和集合视图

iOS 嵌套滚动视图——一直滚动到超级视图?