描述
PinEntryView
是一个可定制的 Swift 控件,可用于验证字母数字 PIN。使用场景包括在查看服务条款后输入 ACCEPT
以及设置或确认密码。
内容
- 支持 AutoLayout 并具有固有大小。可选项设置高度使盒子更高或设置宽度以增加盒子之间的内部间距。
- 在 Interface Builder 中完全可配置(支持 @IBDesignable 和 @IBInspectable)和代码。
- 可定制以适应许多不同的使用场景。
- 演示各配置的示例应用。
安装
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理工具。
CocoaPods 0.36 增加了 Swift 和嵌入式框架的支持。您可以使用以下命令安装它
$ gem install cocoapods
要使用 CocoaPods 将 PinEntryView
集成到 Xcode 项目中,请在您的 Podfile
中指定它
pod 'PinEntryView'
兼容性支持
- 对于 Swift 3.1,请使用
pod 'PinEntryView', '~> 1.0.0'
代替 - 对于 Swift 4,请使用
pod 'PinEntryView', '~> 4.0.0'
代替
然后,运行以下命令
$ pod install
如果在 Xcode 中出现错误("Cannot load underlying module for PinEntryView"),请转到 Product 并选择 Clean(或直接按 ⇧⌘K)。
手动
如果您不想使用 CocoaPods,您可以将 PinEntryView
手动集成到项目中。
支持的操作系统和 SDK 版本
- 支持的构建目标 - iOS 8.0+(Xcode 8.3.2+)
使用方法
PinEntryView
是基于状态的。要配置视图,只需更新任何所需值的州值,然后重新设置状态
- 首先应该设置
PinEntryView
并提供一个初始状态
var pinEntryView = PinEntryView()
pinEntryView.state = PinEntryView.State(pin: "ACCEPT",
allowsBackspace: true,
showsPlaceholder: true,
placeholderTextColor: .lightGray,
allowsAllCharacters: false,
focusBorderColor: .black,
inactiveBorderColor: .lightGray,
completedBorderColor: .green,
errorBorderColor: .red,
returnKeyType: .done,
buttonBorderStyle: .full)
- 设置后,您可以可选地调整状态中的单个参数
重新分配一个变量可以直接进行
pinEntryView.state?.returnKeyType = .next
或者
以这种方式分组赋值多个变量,这样只需要一个更新(PinEntryView.update()
)周期
var state = pinEntryView.state
state?.completedBorderColor = .clear
state?.showsPlaceholder = false
pinEntryView.state = state
许可证
PinEntryView
是由 Jeff Burt 在 StockX 开发的,并采用 MIT 许可发布。有关详细信息,请参阅 LICENSE
文件。
联系
请随意在 我的个人 Twitter 账户 上关注我。如果您在该项目中发现任何问题或想要提出改进建议,请随意在 GitHub 上提交 issue 和/或创建 pull request。