如何在屏幕上实现密码逻辑

问题描述

您好,我正在创建Swift应用,我想创建一个类似于iphone中密码锁的屏幕,在其中可以通过按按钮在文本字段中添加数字。问题是我无法获得特定布局的逻辑。

this is how the layout looks :-

灰色框为UITextFields,浅蓝色为按钮。

以下是到目前为止的代码:-

@IBOutlet var numberPadButtons: [UIButton]!
   
@IBOutlet var txtFields: [UITextField]! 

@IBAction func numbPadBtnsTapped(_ sender: UIButton) {
        //Unable to implement the logic
    }

按钮和文本字段具有标签(0-10和1至4)。

解决方法

[更新答案]

快速

中的基本密码逻辑
@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
    }
    
}