如何从以编程方式添加的 UITextView 中获取文本 [Swift]
How to get text from programmatically added UITextView [Swift]
我正在使用此代码添加 textFields 以将 3 个 UITextFields 添加到 ViewController:
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)
}
现在我需要从所有文本字段中获取文本。谁能告诉我,我该怎么做?
您可以将它们存储在一个数组中,在循环中使用计数器的值在每个数组上设置 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({ [=10=].tag == tag }).first
}
}
我正在使用此代码添加 textFields 以将 3 个 UITextFields 添加到 ViewController:
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)
}
现在我需要从所有文本字段中获取文本。谁能告诉我,我该怎么做?
您可以将它们存储在一个数组中,在循环中使用计数器的值在每个数组上设置 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({ [=10=].tag == tag }).first
}
}