Как реализовать логику пароля к экрану

#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. Спасибо! Его работа просто очаровательна!