【发布时间】:2016-09-21 01:52:17
【问题描述】:
我设置了我的应用程序,以便用户可以向左或向右滑动以在视图控制器之间导航,类似于 SnapChat。我使用启用了分页的UIScrollView 实现了这一点。
我还想实现的 SnapChat 的一个功能是用户能够在表格视图中选择一个单元格,开始将其滑过,然后在某个点之后让单元格“锁定”,允许用户能够将整个视图拉过屏幕。如果您从未使用过 SnapChat,这可能有点难以描绘,所以我已经包含了我正在谈论的图像:
我应该如何使用 UIScrollView 来实现这个功能?
目前,我的 ScrollView 中的一个视图控制器有一个 UITableView,自定义 UITableViewCells 包含手势识别器,允许它们在检测到滑动时滑过。一旦手势识别器检测到大于一定量的平移,单元格就停止相对于视图控制器的滑动,而整个滚动视图开始滑动。
这大致达到了和 SnapChat 一样的效果,但是看起来不太好,而且有很多 bug。例如,如果用户试图轻弹 tableview 单元格(就像人们在 SnapChat 中经常做的那样),s**t 会击中风扇。
SnapChat 对该功能的实现给人的印象是,在单元格滑动一定量后,用户“保留了对滚动视图的控制权”。这是一种非常优雅的用户体验,我不知道如何去复制它。
如果我应该提供任何其他有用的信息(例如我目前的代码),请告诉我。
【问题讨论】:
-
你知道怎么做了吗?
-
@lapin 是的!我会发布我是如何做到的。
标签: ios uitableview uiviewcontroller uiscrollview snapchat