0

我有一个静态表视图控制器。在某些单元格中,我有文本框。我想一次性启用或禁用所有文本框。我知道我可以做类似的事情

self.nameTextField.Enabled = NO; 
self.ageTextField.Enabled = NO;  
self.hairColorTextField.Enabled = NO;  

但必须有更优雅的东西。就像是

for (UIControl* control in self.allChildControls) { // <-- I totally just made that up.
    if ([control isKindOfClass:[UITextField class]]) {
        control.Enabled = NO;
    }
}

我不认为我在问正确的问题...

4

2 回答 2

1

您可以使用subviews属性 od UIView。它包含所有子 UI 元素。

@property(nonatomic, readonly, copy) NSArray *subviews

UIView 文档

for (UIView *subview in self.view.subviews) {
    //check by class or tag
}
于 2013-06-21T04:18:33.823 回答
0

如果您有一个statictableviewController,我假设您不允许用户添加/删除单元格。如果是这种情况,你的问题很简单。您只需outlet向每个UITextField对象添加一个并将其userInteractionEnabled属性切换为 no。

self.myTextField.userInteractionEnabled = NO;
self.mySecondTextField.userInteractionEnabled = NO;

希望这可以帮助 :)

于 2013-06-21T03:01:22.747 回答