Если у вас есть массив кнопок как:
NSArray *buttonsArray = @[bt1,bt2,bt3,bt4];
и массив значений, соответствующих BOOL состояния кнопки:
NSArray *stateArray = [@YES,@NO,@NO,@YES];
Тогда вы можете:
for (UIButton *bt in buttonsArray){
bt.hidden = [[stateArray objectAtIndex:[buttonsArray indexOfObject:bt]] boolValue];
}
или более эффективный один:
for(int index=0; index<buttonsArray.count; index++){
[[buttonsArray objectAtIndex:index] setHidden:[[stateArray objectAtIndex:index] boolValue]];
}
или более чистым, читаемым один:
for(int index=0;index<buttonsArray.count; index++){
UIButton *bt = [buttonsArray objectAtIndex:index];
BOOL *state = [[stateArray objectAtIndex:index] boolValue];
bt.hidden=state;
}
Легче будет (теоретически), комментарий @adali, чтобы добавить его к родительскому представлению и затем скройте родительский вид. Но тогда вы должны соответствующим образом создать родительский вид и установить кадр родительских представлений в соответствии с вашим пользовательским интерфейсом. (Выберите то, что вам легче: i.e создание кнопок, массив состояний или создание родительского представления и правильное позиционирование)
Разве это отличается от пользователя одной или двумя? –
нет, но у меня есть много кнопок для скрытия или нет ... поэтому я ищу совет, чтобы поместить это в массив и скрыть элементы в одной строке. –
поместите их на одно и то же родительское представление, затем скройте родительский вид – adali