【发布时间】:2015-02-20 16:48:03
【问题描述】:
我想采用类似于 Beats Music 应用程序的选项卡式滑动页面控件,其中两个相关的滚动视图相互交互以浏览页面。在动画开始时,我在实际页面上向左滑动。当它滚动得非常快时,我实际上是在向上滚动标签。这类似于 iOS 7/8 的多任务应用切换器的工作方式。
我环顾四周,但找不到用户可以滚动两个滚动视图的示例。通常只有内容控制器会移动选项卡,就像在这个 repo 中一样:https://github.com/daria-kopaliani/DAPagesContainer
我对如何自己实现这一点有点迷茫。我不能只在一个容器上放置两个滚动视图,然后在两个滚动视图上实现scrollViewDidScroll,因为那样会创建一个循环。
有什么想法吗?
【问题讨论】:
-
看起来像 2 个启用分页的滚动视图,当一个滚动时,触发另一个滚动
-
我不明白你为什么认为它会造成循环。
-
@Segev,滚动顶部滚动视图应该滚动底部滚动视图,反之亦然。我的直觉是只听
scrollViewDidScroll中的滚动活动并相应地调整另一个滚动视图。但是,当调整另一个滚动视图时,将调用相同的委托方法,并且它将尝试滚动用户已经与之交互的滚动视图。有意义吗? -
@SimonMcLoughlin 我不认为这很容易。见我上面的评论。
-
@djibouti33 是的,委托回调告诉你调用了哪个滚动视图。检查它是否是你移动的那个并忽略它
标签: ios objective-c iphone uiscrollview