| 测试已测试 | ✗ |
| 语言语言 | SwiftSwift |
| 许可证 | MIT |
| 发布最后发布 | 2016年12月 |
| SwiftSwift 版本 | 3.0 |
| SPM支持 SPM | ✓ |
由 Roy Marmelstein 维护。
Peek 和 Pop 是 iPhone 6S 和 6S+ 推出的一个优秀的新 iOS 功能,它允许您通过 3D Touch 轻松预览内容。
遗憾的是,几乎有 60% 的 iOS 用户使用的是旧设备。
PeekPop 是一个 Swift 框架,它将向后兼容 Peek 和 Pop。
| 特性 | |
|---|---|
| 为支持 3D Touch 的设备使用苹果漂亮的 peek 和 pop 交互。 | |
| 为旧设备提供自定义的压力传感触摸识别。 | |
| 在旧设备上忠实重现 peek 和 pop 动画。 | |
| 几乎与苹果的 API 完全相同。 | |
| 在所有 iOS8+ 设备上运行。 |
缺失的特性
在 Swift 文件的顶部导入 PeekPop。
import PeekPop创建一个 PeekPop 对象,注册您的视图控制器以处理 peek 并指定源视图。您还需要声明您的视图控制器将遵循 PeekPopPreviewingDelegate 协议。
class MyViewController: UIViewController, PeekPopPreviewingDelegate {
var peekPop: PeekPop?
override func viewDidLoad() {
peekPop = PeekPop(viewController: self)
peekPop?.registerForPreviewingWithDelegate(self, sourceView: collectionView)
}PeekPopPreviewingDelegate 要求实现两个简单函数。您需要用以下内容告诉它用于预览目的的视图控制器:
func previewingContext(_ previewingContext: PreviewingContext, viewControllerForLocation location: CGPoint) -> UIViewController?…并且您需要告诉它在过渡结束时如何提交预览视图控制器
func previewingContext(_ previewingContext: PreviewingContext, commitViewController viewControllerToCommit: UIViewController)在没有 3D Touch 的设备上,PeekPop 通过监控 UITouch 的 majorRadius 值的显著变化来识别屏幕上的压力。
它假设在您按下 iPhone 的时候,您手指的活动面积更大,这是大多数情况下的实际情况。