PeekPop 1.0.0

PeekPop 1.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2016年12月
SwiftSwift 版本3.0
SPM支持 SPM

Roy Marmelstein 维护。



PeekPop 1.0.0

PeekPop - backwards-compatible peek and pop in Swift

PeekPop

Peek 和 Pop 是 iPhone 6S 和 6S+ 推出的一个优秀的新 iOS 功能,它允许您通过 3D Touch 轻松预览内容。

遗憾的是,几乎有 60% 的 iOS 用户使用的是旧设备。

PeekPop 是一个 Swift 框架,它将向后兼容 Peek 和 Pop。

特性

特性
🌟 为支持 3D Touch 的设备使用苹果漂亮的 peek 和 pop 交互。
👆 为旧设备提供自定义的压力传感触摸识别。
💗 在旧设备上忠实重现 peek 和 pop 动画。
📱 几乎与苹果的 API 完全相同。
8️⃣ 在所有 iOS8+ 设备上运行。

缺失的特性

  • 不支持无 3D Touch 设备的 peek 和 pop 预览操作。

使用方法

在 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 的时候,您手指的活动面积更大,这是大多数情况下的实际情况。

灵感来源