PeekPan 0.0.3

PeekPan 0.0.3

测试测试版
Lang语言 Obj-CObjective C
许可证 Apache 2
发布最后发布2016年4月

Brian ChonJared Verdi 维护。



PeekPan 0.0.3

  • 作者
  • Brian Chon

PeekPan 结合了 3D Touch 和滑动手势,在预览的同时循环浏览一组视图。

当预览时,可以跟踪用户的触摸位置。
这仅仅提供了一种方式,通过这样的机制在一系列索引之间进行旅行。

在此库中使用的文件有:

  • PeekPanGestureRecognizer.swift:
    当显示预览时开始跟踪用户的触摸位置,并在触摸释放时结束。

  • PeekPanCoordinator.swift:
    将用户的触摸位置相关联到可调整的滑动区域内的一个索引范围。

  • PeekPanViewController.swift:
    用于在预览中显示不同 UIView 的可选方式的 UIViewController

如何设置

  1. 用视图控制器查看器初始化 PeekPanCoordinator,以添加一个手势识别器并设置滑动区域的边界。

  2. 设置协调器的数据源,并有一个 maximumIndex(for peekPanCoordinator: PeekPanCoordinator) -> Int 的返回值。同时设置协调器的代理及其方法以接收更新。

  3. previewingContext(previewingContext:viewControllerForLocation:=) 中调用 setup()setup(at:index),以在特定索引处设置协调器并从数据源检索数据。

  4. previewingContext(previewingContext:commitViewController:=) 中调用 end(true),以更改协调器状态并重置其值。


  1. 要使用 PeekPanViewController,按上述说明设置协调器,并将其代理设置为视图控制器。同时设置协调器的数据源为一个遵循其协议的类。

  2. 当索引发生变化时返回视图到 view(for peekPanViewController:atIndex:=) -> UIView,当用户的触摸位置发生变化时返回视图到 view(for peekPanViewController:atPercentage:=) -> UIView。`PeekPanViewControllerDelegate` 是 `PeekPanCoordinatorDelegate` 的一个子类,这样协调器的所有代理方法都可用到视图控制器的代理中。

其他参考

PeekPan 使用了一些 Behance 上的图片,由以下作者创建,并受CC BY 4.0 许可证许可: