SwiftSignatureView(现在带有 PencilKit!)
描述
SwiftSignatureView 是一个轻量级、快速且可自定义的选项,用于在您的应用程序中捕获签名。您可以获取签名作为 UIImage。使用根据手指移动速度变化的笔宽的代码,视图可以生成流畅、自然外观的签名。 现在,随着 iOS13+,SwiftSignatureView 自动使用 PencilKit 提供原生且更流畅的签名体验,包括与 Apple Pencil 的自然集成,这使得 SwiftSignatureView 更加出色!
版本 3.2.0
- 警告:此更新更改了 SwiftSignatureViewDelegate 接口。使用 swiftSignatureViewDidDrawGesture 接收手势事件。在 PencilKit(iOS13+)中,当用户使用其所用的工具完成绘图序列时,您将获得额外的 swiftSignatureViewDidDraw 事件。
- 添加了撤销/重做。
- 添加了 isEmpty 来确定签名画布是否为空。
- 修复了示例应用程序中的约束。
- 视图和画布仅使用约束布局进行内部配置。
- 应用了 Swiftlint 修复。
- 添加了一个页面,其中说明了如何仅通过代码使用库。
- 为PencilKit版本添加了裁剪功能(带有已排序的签名分辨率)。
版本 3.0.0
- SwiftSignatureView 现在已使用 iOS13+ 版本的 PencilKit 来提供原生且更流畅的签名体验,包括与 Apple Pencil 的自然集成。
已知问题
- 当前,getCroppedSignature 方法与 iOS13+ 不兼容,而返回的是未裁剪的图像。
版本 2.2.3 | Swift 5.0
- SwiftSignatureView 现在从触摸点开始绘制,而不是从识别到滑动手势的点开始绘制。
版本 2.2.2 | Swift 5.0
- 修改了 swiftSignatureViewDidPanInside 代理方法,以在回调中包含滑动手势识别器。警告:这会改变接口!
版本 2.2.0 | Swift 5.0
- 添加了 getCroppedSignature 方法,以获取包含周围空白裁剪的签名 UIImage。
- 使签名图像可用于公共设置。
- 修改示例以演示裁剪签名功能。
感谢所有贡献者。我知道我说的还不够多。
版本 2.1.0 | Swift 5.0
- 将 Pod 升级为 Swift 5.0 语法。接口保持不变。
版本 2.0 | Swift 3.0 / XCode 8
- 将 Pod 升级为 Swift 3.0 语法。接口保持不变。
版本 1.0.3 | Swift 2.3 / XCode 8 兼容性
- 将示例升级为使用 XCode 8Storyboard。然而,当升级到 Swift 2.3 的时候,SwiftSignatureView 类文件保持不变。
版本 1.0.2 | 滚动/点击回调
- 添加了滚动/点击的代理回调。
版本 1.0.1 | Swift 2.2 语法更新及错误修复
- 修复了在视网膜显示屏上签名可能模糊的问题
- 更新语法至 Swift 2.2
- 修复 pod 样式以使其与 Cocoapods 1.0 兼容
版本 0.0.8 | 错误修复
版本0.0.8修复了一个bug,该bug导致SwiftSignatureView在非全屏模式下计算不正确的偏移量。非常感谢Todd Kersey发现此bug并提出修复方案。本次更新解决了该问题。
用法
要运行示例项目,请克隆存储库,然后首先从Example目录运行pod install
。
更具体地说,您只需将SwiftSignatureView类分配给一个UIView,然后可以在Interface Builder中调整最小笔画宽度、最大笔画宽度、笔画颜色和笔画透明度(这些都可以在Interface Builder中设置)进行尝试。设置完成后,您可以使用signature属性获取签名的UIImage表示,使用clear方法清除签名视图。例如,如果您有
@IBOutlet weak var signatureView: SwiftSignatureView!
您可以
signatureView.signature()
来获取签名的UIImage表示;
signatureView.getCroppedSignature()
来获取裁剪后的签名的UIImage表示,周围空白被去除。
signatureView.clear()
来清除签名视图。
安装
SwiftSignatureView可以通过CocoaPods和Swift包管理器安装。
Cocoapods >= 1.0
将以下行添加到您的Podfile中
use_frameworks!
target "YOUR_PROJECT_NAME" do
pod "SwiftSignatureView"
end
Cocoapods < 1.0
将以下行添加到您的Podfile中
use_frameworks!
pod "SwiftSignatureView"
Swift包管理器
将以下行添加到您的Package.swift文件中(或者只需使用XCode中的包管理器并 reference 此存储库)
dependencies: [
.package(url: "https://github.com/alankarmisra/SwiftSignatureView.git", from: "3.2.0")
]
作者
Alankar Misra, [email protected]
许可证
SwiftSignatureView 可在 MIT 许可证下获得。更多信息,请参阅 LICENSE 文件。