以编程方式添加UITextFields

时间:2018-12-03 16:03:37

标签: ios swift

如何通过编程快速添加UITextFields

例如,在首页上,询问用户机器的数量。用户按下按钮后,我要创建与页面中输入的机器号一样多的编辑文本。

2 个答案:

答案 0 :(得分:0)

要在视图中动态创建对象,您应该像这样

Sub ListAllFilesTurb()
Dim WS As Worksheet
Set WS = Sheets.Add

Sheets.Add.Name = "Turb"
TestListFolders "\\infra\Services\turb"
End Sub

但是我认为在您的情况下,您应该使用输入的机器编号更改x和y位置,以便可以创建多个textField

一个好的方法是使用UIStackView

let textField = UITextField(frame: CGRect(x: 0, y: 0, width: 45, height: 40))
self.view.addSubview(textField)

答案 1 :(得分:0)

这是一种相当粗糙的方法。将UIStackView添加到情节提要和插座中。

@IBOutlet weak var stackView: UIStackView!

private var listOfUITextFields: UITextFields = []

@objc func confirmNumberOfTextFieldsButtonPressed(_ sender: Any) {
    let numberOfTextFields = 5 // get this number from the source

    for _ in 0...numberOfTextFields {
        let newTextField = UITextField()
        // customise textfield

        listOfUITextFields.append(newTextField) // can use this as a reference later

        stackView.addArrangedSubview(newTextField)
    }
}