DPOTPView 1.5.12

DPOTPView 1.5.12

Datt维护。



DPOTPView 1.5.12

  • Datt1994

DPOTPView

Platform Language: Swift 5 License Version Carthage compatible

Look

可定制的 OTP 视图和密码视图

使用 CocoaPods 安装

CocoaPods 是 Objective-C & Swift 的依赖管理器。您可以使用以下命令安装它:

$ gem install cocoapods

Podfile

要使用 CocoaPods 将 DPOTPView 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'TargetName' do
use_frameworks!
pod 'DPOTPView'
end

然后,运行以下命令:

$ pod install

使用 Carthage 安装

Carthage 是一个去中心化的依赖管理器,它为您构建依赖并提供二进制框架。

您可以使用以下命令使用 Homebrew 安装 Carthage:

$ brew update
$ brew install carthage

要使用 Carthage 将 DPOTPView 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "Datt1994/DPOTPView"

运行 carthage 来构建框架并将框架(DPOTPView.framework)拖入您的 Xcode 项目中。

注意:在接口构建器中,IBDesignables 和 IBInspectables 不会工作。

解决方案:创建 DPOTPView 的 IBDesignable 子类,在接口构建器中使用该子类作为自定义类。

@IBDesignable
class OTPView : DPOTPView {}    

使用Swift Package Manager进行安装

Swift Package Manager 是一个用于自动化分发Swift代码的工具,并且集成到 swift 编译器中。

要将库添加为包依赖项到您的Xcode项目中,选择文件 > Swift Packages > 添加包依赖项,并输入其存储库URL https://github.com/Datt1994/DPOTPView.git

手动添加

下载项目并将 DPOTPView.swift 文件粘贴到您的项目中

如何使用

AddClass

👆将 DPOTPView 添加到 UIView 自定义类。

Properties

👆根据需求使用这些属性。

代码

代码配置

let txtOTPView = DPOTPView(frame: CGRect(x: (self.view.frame.width - 250)/2, y: txtDPOTPView.frame.origin.y + 50, width: 250, height: 60))
txtOTPView.count = 5
txtOTPView.spacing = 10
txtOTPView.fontTextField = UIFont(name: "HelveticaNeue-Bold", size: CGFloat(25.0))!
txtOTPView.dismissOnLastEntry = true
txtOTPView.borderColorTextField = .black
txtOTPView.selectedBorderColorTextField = .blue
txtOTPView.borderWidthTextField = 2
txtOTPView.backGroundColorTextField = .lightGray
txtOTPView.cornerRadiusTextField = 8
txtOTPView.isCursorHidden = true
//txtOTPView.isSecureTextEntry = true
//txtOTPView.isBottomLineTextField = true
//txtOTPView.isCircleTextField = true
view.addSubview(txtOTPView)

用法

txtDPOTPView.text = "1234" // set text
print(txtDPOTPView.text ?? "") // get text
txtDPOTPView.validate() // validate all text entry
_ = txtDPOTPView.becomeFirstResponder()

委托方法

extension ViewController : DPOTPViewDelegate {
   func dpOTPViewAddText(_ text: String, at position: Int) {
        print("addText:- " + text + " at:- \(position)" )
    }
    
    func dpOTPViewRemoveText(_ text: String, at position: Int) {
        print("removeText:- " + text + " at:- \(position)" )
    }
    
    func dpOTPViewChangePositionAt(_ position: Int) {
        print("at:-\(position)")
    }
    func dpOTPViewBecomeFirstResponder() {
        
    }
    func dpOTPViewResignFirstResponder() {
        
    }
}