Ios 使用标识符/标记(SWIFT)从UIView获取UITextField
我需要知道如何从ViewController类访问UIView中的特定UITextField 我目前的设置是,我有一个链接到情节提要中视图的ViewController。我在nib中有UIView,它有3个UITextFields。我使用以下代码加载视图:Ios 使用标识符/标记(SWIFT)从UIView获取UITextField,ios,swift,uiview,uitextfield,Ios,Swift,Uiview,Uitextfield,我需要知道如何从ViewController类访问UIView中的特定UITextField 我目前的设置是,我有一个链接到情节提要中视图的ViewController。我在nib中有UIView,它有3个UITextFields。我使用以下代码加载视图: TextFieldView = UINib(nibName: "TextView", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! UIView self.view.a
TextFieldView = UINib(nibName: "TextView", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! UIView
self.view.addSubview(TextFieldView)
for case let textField as UITextField in TextView!.subviews {
print(textField.text)
}
我可以使用以下代码获取所有三个UITextField及其值:
TextFieldView = UINib(nibName: "TextView", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! UIView
self.view.addSubview(TextFieldView)
for case let textField as UITextField in TextView!.subviews {
print(textField.text)
}
我的问题是如何使用某种标识符或标记获取任何特定UITextField的值。假设我有3个UITextField,分别命名为TextField1、TextField2和TextField3。如何获取TextField2的值?使用viewWithTag选项。
试试这个:
if let theTextField = self.view.viewWithTag(yourTagId) as? UITextField {
print(theTextField.text)
}
目标C:
UIView *view = [self.view.viewWithTag:YourTagId];
if([view isKindOfClass:[UITextField class]]
{ NSLog(@"%@", view.text);
}
如果要按类查找,则可以按如下方式循环:
for view in self.view.subviews {
if let textField = view as? UITextField {
print(textField.text!)
}
}
如果您想通过标记查找,则可以使用@Balajikondallayal所述的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!)
}
}
希望对您有所帮助。重复:如何在nib中设置UITextField的标记?您可以将其转换为目标C吗?在您的目标C代码中,它应该是
[self.view view withtag:YourTagId]代码>而不是[self.view.viewWithTag:YourTagId]代码>我目前有此代码,我需要使用viewWithTag,但我不知道如何在NIB中设置特定UITextField的标记谢谢,我在您发布答案之前就得到了它,但由于您的努力,我给了您复选标记。我感谢你花时间解决我的问题。