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