SWCodeField
- простое поле для ввода кода подтверждения из смс или email с возможность изменения количества элементов. UI-элемент основан на UIStackView
, объединяет в себе несколько текстовых полей и реализует логичное переключение между ними при вводе и удалении символов.
File | Add Packages ...
и введите адрес https://github.com/DobbyWanKenoby/SWCodeField
в поисковом поле.Add Package
.Добавьте в качестве зависимости в файл Package.swift
следующий код:
dependencies: [
.package(url: "https://github.com/DobbyWanKenoby/SWCodeField", .upToNextMajor(from: "1.0"))
]
Добавьте в собственный проект код из файла Sources/SWCodeField/SWCodeField.swift
UIStackView
.SWCodeField
.Attributes Inspector
укажите количество блоков и элементов в блоках (текстовых полей).@IBOutlet var codeField: SWCodeField!
doAfterCodeDidEnter
).codeField.doAfterCodeDidEnter = { code in
print("Code is \(code)")
}
SWCodeField
, указав количество блоков и элементов.let codeField = SWCodeField(blocks: 2, elementsInBlock: 3)
Через frame
self.view.addSubview(codeField)
codeField.frame.size = CGSize(width: 200, height: 50)
codeField.center = view.center
С помощью SnapKit
codeField.snp.makeConstraints { make in
make.centerY.centerX.equalToSuperview()
make.leadingMargin.trailingMargin.equalTo(40)
make.height.equalTo(50)
}
doAfterCodeDidEnter
).codeField.doAfterCodeDidEnter = { code in
print("Code is \(code)")
}
// Замыкание, которое выполняется после того, когда введены значения для всех полей
// В качестве входного параметра получает введнный код в виде строки
var doAfterCodeDidEnter: ((String) -> Void)? { get set }
// Код в текстовых полях
// Может быть как прочитано, так и установлено
var code: String { get set }
-
для кода типа 12-33-56
).link |
Stars: 10 |
Last commit: 2 years ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics