我在视图中有一个UITextFields集合。我需要禁用,然后启用它们。目前,我分别更改每个。有没有办法在循环中以编程方式执行此操作? TIA。更改UITextFields集合上的属性
1
A
回答
1
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;
}
}
0
假设你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];
+0
我想我误解了这个问题。我的错。下面的答案是我正在寻找的。 –
0
NSArray *array = [view subviews];
禁用子视图:
[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)NO];
启用子视图:
[array makeObjectsPerformSelector:@selector(setEnabled:) withObject:(id)YES];
请注意withObject:参数在这里。只需施放布尔常量是或否至id当您施放对象类型!
+0
只是单挑:如果您使用ARC,则不允许将'BOOL'投射到'id'。假设你可以用'NSNumber'来包装它(就像'@ YES'),但是我遇到了'@ NO'的问题。 –
相关问题
- 1. 模型本身属性上的集合更改事件
- 2. 试图改变IQueryable集合的属性
- 3. asp.net - 属性集合属性
- 4. 管理对子集合及其属性的更改
- 5. 如何访问和更改集合中的特定属性?
- 6. JaVers未检测到集合中对象属性的更改
- 7. 集合上的jquery属性选择器
- 8. Asp.net控件的属性集合属性
- 9. DataServiceContext:更新导航集合属性
- 10. 允许更新特定集合属性
- 11. 依赖属性已更改在设计中的集合属性上未触发的事件时间
- 12. Cypher - 将文本属性更改为集合
- 13. 如何在属性更改时从集合中保存项目?
- 14. 集合属性的含义
- 15. 更改属性
- 16. 更改属性
- 17. 更改属性
- 18. 更改属性
- 19. 更改属性
- 20. silverlight Textbox在底层集合的相应属性发生更改时未更新
- 21. 列上的全文属性更改
- 22. 获取节点集的属性集合
- 23. 更改属性的DisplayName属性
- 24. 更改“父”属性的属性
- 25. 属性和专用集合
- 26. XML属性和集合
- 27. Laravel雄辩集合属性
- 28. 集合依赖属性
- 29. JPA - 属性是集合
- 30. GSON属性名集合
谢谢。这是我正在寻找的。我曾尝试过这些变化,并没有奏效。我试过这个版本,它也没有工作。然后我意识到我需要用“self.myContactView子视图”来限定事物。优秀! –