如何从程序上添加文本添加UITextView [Swift]

时间:2015-07-07 23:54:54

标签: ios swift uitextfield

我使用此代码添加textFields以向ViewController添加3个UITextField:

for var index = 0; index < 3; ++index {
    var textField = UITextField(frame: CGRectMake(0, 0, 300, 40))
    var pom:CGFloat = 130 + CGFloat(index*50)
    textField.center = CGPointMake(185, pom)
    textField.layer.borderWidth = 1.0;
    textField.layer.cornerRadius = 5.0;
    textField.textAlignment = NSTextAlignment.Center
    self.view.addSubview(textField)
}

现在我需要从所有textFields获取文本。有人能告诉我,我怎么能做到?

1 个答案:

答案 0 :(得分:1)

您可以将它们存储在一个数组中,使用循环中的计数器值在每个数组上设置tag属性,然后在以后通过该标记检索它们:

class MyViewController: UIViewController {

    var textFields = [UITextField]()

    override func viewDidLoad() {
        super.viewDidLoad()

        for var index = 0; index < 3; ++index {
            var textField = UITextField(frame: CGRectMake(0, 0, 300, 40))
            var pom:CGFloat = 130 + CGFloat(index*50)
            textField.center = CGPointMake(185, pom)
            textField.layer.borderWidth = 1.0;
            textField.layer.cornerRadius = 5.0;
            textField.textAlignment = NSTextAlignment.Center
            textField.tag = index
            self.textFields.append( textField )
            self.view.addSubview(textField)
        }

        for var index = 0; index < 3; ++index {
            if let textField = self.textFieldForTag( index ) {
                print( textField.text )
            }
        }
    }

    func textFieldForTag( tag: Int ) -> UITextField? {
        return self.textFields.filter({ $0.tag == tag }).first
    }
}