我越有例如2 UIButton
隱藏以上的元素
我知道如何隱藏每個:
button1.hidden = 1;
button2.hidden = 1;
有沒有辦法隱藏在一個時間這2個按鈕? (如:[button1, button2].hidden = 1
)
感謝
編輯:任何方式排列的風格?
如:
array *buttons = [button1, button2 ...] ;
buttons[0,3,5,10].hidden = 1;
我越有例如2 UIButton
隱藏以上的元素
我知道如何隱藏每個:
button1.hidden = 1;
button2.hidden = 1;
有沒有辦法隱藏在一個時間這2個按鈕? (如:[button1, button2].hidden = 1
)
感謝
編輯:任何方式排列的風格?
如:
array *buttons = [button1, button2 ...] ;
buttons[0,3,5,10].hidden = 1;
如果有按鈕陣列像:
NSArray *buttonsArray = @[bt1,bt2,bt3,bt4];
和對應於按鈕狀態布爾值的數組:
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設置父視圖框架。 (選擇哪一個更容易給你:我。e創建按鈕,狀態數組等或創建一個父視圖並正確定位)
正是我在找什麼!謝謝 !! – 2013-03-11 09:13:31
可以這樣做
button1.hidden = button2.hidden = YES;
但如果你能創造出不的方法,這將幫助你,例如
- (void)allButtonHidden:(BOOL)value {
button1.hidden = value;
button2.hidden = value;
}
,並調用它
[self allButtonHidden:YES];
哦,gawd,多數民衆贊成在可怕.. – Rob 2013-03-11 08:29:19
謝謝,如果button1.hidden = 0和button2.hidden = 1 ??任何正確的方式如下:[button1,button2] .hidden = [0,1]? – 2013-03-11 08:29:55
'button1.hidden =!button2.hidden = YES;' – 2013-03-11 08:31:25
你可以簡單地使用:
for (UIButton *btn in [self.view subviews]) {
btn.hidden = YES;
}
或者您也可以通過一個條件查找按鈕:
for (UIButton *btn in [self.view subviews]) {
if ([btn tag]<=2) {
btn.hidden = YES;
}
}
創建一個函數做到這一點:
- (void)buttonAction
{
for (UIButton *button in [self.view subviews])
{
if (button.hidden == YES)
button.hidden = NO;
else
button.hidden = YES;
}
}
那麼,這是非常棘手的,但根據您的要求,有一個替代解決方案。
1)將標籤爲每個按鈕
[button1 setTag:1];
[button2 setTag:2];
...
...
2)找到與標籤按鈕對象(其可以與運行循環)
for(int i=0;i<numberOfButton;i++)
{
UIButton *targetButton = (UIButton *)[self.view viewWithTag:i];
targetButton.hidden = 1;
}
與一行或兩行的用戶有所不同嗎? – 2013-03-11 08:28:26
不,但我有很多按鈕設置隱藏或不...所以我正在尋找一個提示,把它放在一個數組中,並隱藏在一行中的元素。 – 2013-03-11 08:35:30
把它們放在相同的父視圖,然後隱藏父視圖 – adali 2013-03-11 08:41:13