我需要知道如何从ViewController类访问UIView中的特定UITextField。
我目前的设置是我有ViewController链接到Storyboard中的View。我在nib中有UIView,它有3个UITextFields。我使用以下代码加载视图:
TextFieldView = UINib(nibName: "TextView", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! UIView
self.view.addSubview(TextFieldView)
我可以使用以下代码获取所有三个UITextField及其值:
for case let textField as UITextField in TextView!.subviews {
print(textField.text)
}
我的问题是如何使用某种标识符或标记获取任何一个特定UITextField的值。假设我有3个UITextField分别命名为TextField1,TextField2和TextField3。如何获取TextField2的值?
答案 0 :(得分:13)
如果你想按类找到它,你可以像下面这样循环:
for view in self.view.subviews {
if let textField = view as? UITextField {
print(textField.text!)
}
}
如果您想通过标记找到,那么您可以使用@BalajiKondalrayal所描述的viewWithTag
。
设置文本字段的标记如下:
选择文本字段并设置标记属性。
@IBAction func getAllTextFromTextFields(sender: AnyObject) {
//Get All Values
for view in self.view.subviews {
if let textField = view as? UITextField {
print(textField.text!)
}
}
//Get One By One with Tag
if let txtField1 = self.view.viewWithTag(1) as? UITextField {
print(txtField1.text!)
}
}
希望对你有所帮助。
答案 1 :(得分:6)
使用viewWithTag选项。 试试这个:
UIView *view = [self.view.viewWithTag:YourTagId];
if([view isKindOfClass:[UITextField class]]
{ NSLog(@"%@", view.text);
}
Objective-C:
[distutils] # this tells distutils what package indexes you can push to
index-servers =
pypi
pypitest
[pypi]
repository: https://pypi.python.org/pypi
username: "amfarrell"
password: "I dont post my passphrase publicly"
[pypitest]
repository: https://testpypi.python.org/pypi
username: "amfarrell"
password: "I dont post my passphrase publicly"