使用 Identifier/Tag (SWIFT) 从 UIView 获取 UITextField
Get UITextField from UIView using an Identifier/Tag (SWIFT)
我需要知道如何从 ViewController class.
访问 UIView 中的特定 UITextField
我目前的设置是 ViewController 链接到情节提要中的视图。我在具有 3 个 UITextFields 的笔尖中有 UIView。我使用以下代码加载视图:
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 的值?
使用 viewWithTag 选项。
试试这个:
if let theTextField = self.view.viewWithTag(yourTagId) as? UITextField {
print(theTextField.text)
}
Objective-C :
UIView *view = [self.view.viewWithTag:YourTagId];
if([view isKindOfClass:[UITextField class]]
{ NSLog(@"%@", view.text);
}
如果你想通过 class 找到它,那么你可以像这样循环:
for view in self.view.subviews {
if let textField = view as? UITextField {
print(textField.text!)
}
}
如果您想通过标签查找,则可以使用 viewWithTag
,如@BalajiKondalrayal 所述。
设置文本字段的标签如下:
Select 文本字段和设置标签 属性.
@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!)
}
}
希望对你有帮助。
我需要知道如何从 ViewController class.
访问 UIView 中的特定 UITextField我目前的设置是 ViewController 链接到情节提要中的视图。我在具有 3 个 UITextFields 的笔尖中有 UIView。我使用以下代码加载视图:
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 的值?
使用 viewWithTag 选项。 试试这个:
if let theTextField = self.view.viewWithTag(yourTagId) as? UITextField {
print(theTextField.text)
}
Objective-C :
UIView *view = [self.view.viewWithTag:YourTagId];
if([view isKindOfClass:[UITextField class]]
{ NSLog(@"%@", view.text);
}
如果你想通过 class 找到它,那么你可以像这样循环:
for view in self.view.subviews {
if let textField = view as? UITextField {
print(textField.text!)
}
}
如果您想通过标签查找,则可以使用 viewWithTag
,如@BalajiKondalrayal 所述。
设置文本字段的标签如下:
Select 文本字段和设置标签 属性.
@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!)
}
}
希望对你有帮助。