次のようなボタンの配列がある場合:
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によって与えられたコメントで、それを親ビューに追加してから、親ビューを非表示にすることです。ただし、親ビューを適切に作成し、UIに従って親ビューフレームを設定する必要があります。(ボタンや状態配列などを作成するか、親ビューを作成して適切に配置するなど、どちらか簡単な方を選択してください)