Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 更改UITextFields集合的属性_Iphone_Ios_Ipad - Fatal编程技术网

Iphone 更改UITextFields集合的属性

Iphone 更改UITextFields集合的属性,iphone,ios,ipad,Iphone,Ios,Ipad,我在视图中有一个UITextFields集合。我需要禁用然后全部,然后再启用它们。目前,我分别对每一项进行了更改。有没有一种方法可以在循环中以编程方式实现这一点?TIA.假设您的UITextField实例保存在名为myFieldCollection的集合中,您可以执行以下操作: Use this it will help you enabled=NO or YES for(id viewid in [self.view subviews]) { if([viewid i

我在视图中有一个UITextFields集合。我需要禁用然后全部,然后再启用它们。目前,我分别对每一项进行了更改。有没有一种方法可以在循环中以编程方式实现这一点?TIA.

假设您的
UITextField
实例保存在名为
myFieldCollection
的集合中,您可以执行以下操作:

Use this it will help you enabled=NO or YES

for(id viewid in [self.view subviews])
    {
        if([viewid isKindOfClass:[UITextField class]])
        {
           UITextField *txt_temp = (UITextField *)viewid;
           txt_temp.enabled=NO;
         }
    }
- (void) disableFields {
    for (UITextField* field in myFieldCollection) {
        field.enabled = NO;
    }
}

- (void) enableFields {
    for (UITextField* field in myFieldCollection) {
        field.enabled = YES;
    }
}
根据你的开场白,我假设你已经把它们收藏起来了。如果没有,则可以轻松使用Interface Builder为文本字段设置“引用出口集合”

要使用上述方法,您只需执行以下操作:

//disable
[self disableFields];

//enable
[self enableFields];

假设您的
UITextField
实例保存在名为
myFieldCollection
的集合中,您可以执行以下操作:

- (void) disableFields {
    for (UITextField* field in myFieldCollection) {
        field.enabled = NO;
    }
}

- (void) enableFields {
    for (UITextField* field in myFieldCollection) {
        field.enabled = YES;
    }
}
根据你的开场白,我假设你已经把它们收藏起来了。如果没有,则可以轻松使用Interface Builder为文本字段设置“引用出口集合”

要使用上述方法,您只需执行以下操作:

//disable
[self disableFields];

//enable
[self enableFields];
禁用子视图:

[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)NO];
[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)YES];
启用子视图:

[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)NO];
[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)YES];
请注意此处的withObject:参数。只要在转换对象类型时,将布尔常量YESNO转换为id

禁用子视图:

[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)NO];
[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)YES];
启用子视图:

[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)NO];
[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)YES];

请注意此处的withObject:参数。只要在转换对象类型时,将布尔常量YESNO转换为id

多谢各位。这就是我要找的。我以前试过这些的一种变体,但它不起作用。我试过这个版本,但也没用。然后我意识到我需要用“self.myContactView子视图”来限定内容。杰出的非常感谢。这就是我要找的。我以前试过这些的一种变体,但它不起作用。我试过这个版本,但也没用。然后我意识到我需要用“self.myContactView子视图”来限定内容。杰出的我想我把问题的措辞弄错了。我的错。下面的答案正是我想要的。我想我把问题的措辞弄错了。我的错。下面的答案就是我想要的。只是提醒一下:如果你使用的是ARC,你不允许将
BOOL
投射到
id
。假设你可以用
NSNumber
来包装它(就像
@YES
),但我对
@NO
有问题。提醒一下:如果你使用的是ARC,你不允许对
id
施放
BOOL
。假设你可以用
NSNumber
来包装它(就像
@YES
),但我对
@NO
有问题。