#ios #swift #uibutton #uitextfield #passcode
#iOS #swift #uibutton #uitextfield #пароль
Вопрос:
Здравствуйте, я создаю Swift
приложение и хочу сделать экран, похожий на блокировку паролем в iphone, в котором мы можем добавлять цифры в текстовое поле нажатием кнопок. Проблема в том, что я не могу получить логику для конкретного макета.
серые поля — это UITextFields
, а светло-синие — кнопки.
Ниже приведен код на данный момент:-
@IBOutlet var numberPadButtons: [UIButton]!
@IBOutlet var txtFields: [UITextField]!
@IBAction func numbPadBtnsTapped(_ sender: UIButton) {
//Unable to implement the logic
}
кнопки и текстовые поля имеют теги (0-10 и 1-4).
Ответ №1:
[Обновить ответ]
Базовая логика пароля в Swift
@IBOutlet var txtfields: [UITextField]!
var passcode:[String] = [] //["1","3","5","0"]
var limit = 4
@IBAction func PressOnBtn(_ sender: UIButton) {
if sender.tag > 10
{
if passcode.count > 0
{
self.passcode.removeLast()
self.txtfields[self.passcode.count].text = ""
}
}
else
{
if limit == passcode.count
{
return
}
self.passcode.append("(sender.tag)")
self.filltextfiled()
}
}
func filltextfiled()
{
for (index,pass) in self.passcode.enumerated()
{
self.txtfields[index].text = pass
}
}
Комментарии:
1. Спасибо за ответ, но это в
SwiftUI
, а также с клавиатурой по умолчанию, которую я хочу использовать с пользовательскими кнопками2. этого нет в SwiftUI.
3. Спасибо! Его работа просто очаровательна!