簡體   English   中英

更改UITextFields集合上的屬性

[英]changing attributes on a collection of UITextFields

我在視圖中有UITextFields的集合。 我需要先禁用所有功能,然后再啟用它們。 目前,我分別進行更改。 有沒有辦法以編程方式循環執行此操作? TIA。

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;
         }
    }

假設您的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];
NSArray *array = [view subviews];

禁用子視圖:

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

啟用子視圖:

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

注意此處的withObject:參數。 在轉換對象類型時,只需將布爾常量YESNO轉換id即可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM