我有两个textFields.I din全局声明。所以我在UIAlertController
内。现在textFields
是:
text.tag = 100
text2.tag = 200
所以我有textfield2
的一个选择器方法在该方法中,我需要调用textfield1
值是否有字符串(hello)。这是我的代码:
问题编辑 -
答案 0 :(得分:1)
喜欢
<强>选择-1 强>
您可以访问直接标记
-(void)textDidChange:(UITextField *)textField
{
if (textField.text.length > 0) {
if (textField.tag == 100) // textField1
{
if ([textField.text containsString:@"@"])
NSLog(@"Valid");
else
NSLog(@"Invalid");
}
else
{
//textField2 work
}
}
}
<强>选择-2 强>
您可以访问Via Object Name
-(void)textDidChange:(UITextField *)textField
{
if (textField.text.length > 0) {
if (textField == textField1) // 100
{
if ([textField.text containsString:@"@"])
NSLog(@"Valid");
else
NSLog(@"Invalid");
}
else
{
//textField2 work
}
}
}
<强>选择-3 强>
我有两个文本字段。我没有全局声明。 - 为了你的概念,那就像
- (void)textDidChange:(UITextField *)sender
{
UIAlertController *alertController = (UIAlertController *)self.presentedViewController;
if (alertController)
{
UITextField *txt1 = alertController.textFields.firstObject;
UITextField *txt2 = alertController.textFields.lastObject;
if (textField.text.length > 0) {
if (textField == txt1) // 100
{
if ([textField.text containsString:@"@"])
NSLog(@"Valid");
else
NSLog(@"Invalid");
}
else
{
//textField2 work
}
}
}
答案 1 :(得分:1)
请这样做
-(void)textDidChange:(UITextField *)textField
{
if(textField.tag == 100){// do stuff here
}else if(textField.tag == 200){
}
if (textField.text.length > 0) {
NSString *string = textField.text; // Here i have to call my first textfield value using tag value
if ([string containsString:@"@"]) {
NSLog(@"Valid");
} else {
NSLog(@"Invalid");
}
}
}
答案 2 :(得分:1)
您可以尝试这样创建一个UITextField
类型的实例变量,并使用alertController
textField&#39;初始化此textField。
UITextField txtField;
[alertController addTextFieldWithConfigurationHandler:^(UITextField *textField1) {
textField1.placeholder = @"iCloud ID";
txtField = textField1;
}];
现在在textField
textField2
-(void)textDidChange:(UITextField *)textField {
if (textField.text.length > 0) {
NSString *string = txtField.text; // Here you will get first textfield value
if ([string containsString:@"@"]) {
NSLog(@"Valid");
} else {
NSLog(@"Invalid");
}
}
}
答案 3 :(得分:0)
您可以使用textFields
财产
警报显示的文本字段数组。 (只读)
请尝试一下:
-(void)textDidChange:(UITextField *)textField
{
if (textField.text.length > 0) {
for (UITextField *alertTextField in alertController.textFields) {
if(alertTextField.tag == 100){ // first textfield
NSString *string = alertTextField.text;
if ([string containsString:@"@"]) {
NSLog(@"Valid");
} else {
NSLog(@"Invalid");
}
break;
}
}
}
}