2011-11-29 66 views
0

我已經創建了8個按鈕動態。我想將所有這些按鈕添加到數組....我使用此代碼..它一切工作正常..但在另一種方法,我想隱藏所有的動態butttons..Here問題就出現了.... 下面是代碼:隱藏UIButtons

NSMutableArray *button=[[NSMutableArray alloc]init]; 
for(int i=1;i<=8;i++) 
     { 
      btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
      [btn setTag:i]; 
      btn.frame = CGRectMake(xpos, ypos, 108, 150); 
      [btn addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchDown]; 
      xpos +=300; 
      x+=194; 
      if(i%2==0) 
      { 
       ypos+=188; 
       xpos=160; 
      } 
      [self.view addSubview:btn]; 
      [button addObject:btn]; 

     } 
    } 

-(void)hidebutton{ 
    for(int i=0;i<[button count];i++) 
    { 
     NSObject *obj=[button objectAtIndex:i]; 
    } 
    ) 

在這裏我不能使用屬性obj.Hidden=YES;我如何能實現TIS?有什麼建議麼 ?

+0

你是否看到按鈕? – Minakshi

+0

您是否在視圖中看到按鈕? – tarmes

+0

你的代碼是正確的,數組有8個按鈕。如何將其打印到控制檯? – beryllium

回答

0

NSObject沒有隱藏屬性。確保你將它轉換成一個具有。

如果只有你的那個數組中UIButtons它改成這樣:

UIButton *aButton = (UIButton *)[button objectAtIndex:i]; 
[aButton setHidden:YES]; 

Editted由於評論:

如果你想隱藏您的buttonpress按鈕,您應該調用您添加到每個按鈕作爲目標的方法。這個方法傳遞發送者,這實際上是被點擊的那個按鈕。這就是爲什麼你把「:」放在按鈕後面: - 方法。

要隱藏buttonpress上的任何按鈕,它將看起來像這樣。

-(void)buttonPressed:(id)sender 
{ 
    UIButton *aButton = (UIButton *)sender; 
    [aButton setHidden:YES]; 
} 

這應該適合你。祝你好運。

+0

感謝你的代碼....如果我想隱藏我的按鈕在其他方法...你是否按照正確的方法? – Icoder

+0

你在做什麼並不是一個真正的問題。如果您想在點擊按鈕時立即隱藏按鈕,但應該使用您作爲目標添加到每個按鈕的buttonClicked:方法。 在這種方法中,您將隨發送方一起發送您的方法。這實際上是點擊的按鈕。 在這種情況下,您應該稍微調整我的上面的代碼,並將發送者轉換爲UIButton,然後就是如此。我會將此添加到我的上述答案中。 –