2010-02-05 71 views
0

我有一些代碼來創建如下動態按鈕:如何刪除動態的UIButton

- (void)viewDidLoad { 

    for (int i = 0; i < 9; i++) 
     for (int j = 0; j < 8; j++) { 
      forControlEvents:UIControlEventTouchDown]; 
      UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
      button.frame = CGRectMake(10+i*34 , 130+j*30, 30 , 20); 
      [button setTitle:@"00" forState: UIControlStateNormal]; 
      [button addTarget:self action:@selector(tapped:) forControlEvents:UIControlEventTouchUpInside]; 
      [self.view addSubview:button]; 
      button.tag = i; 
     } 
} 

我希望刪除的動態uibuttons並重新創建它們。

我該怎麼辦

歡迎發表評論。

感謝 InterDev中

回答

4

這將刪除按鈕

[button removeFromSuperview]; 

要刪除系列按鈕:

for (int i = 0; i < 9; i++) { 
    [[self.view viewWithTag:i] removeFromSuperview]; 
} 

你有一點小問題,因爲你的內部循環(使用j計數器的那個循環)正在創建8個按鈕,但它們都有相同的標記。改變如何分配標記計數器並調整上面的循環以使用該計數器,並且應該能夠移除所有按鈕。

0

胡亂猜測這裏:)

[self.view removeSubview:button]; 
+0

錯誤:'按鈕'未聲明 – arachide 2010-02-05 09:18:32

+0

是的,你必須先確定按鈕,但看到Giao的答案如何使用你創建的標籤正確地做到這一點,並忽略我:) – willcodejavaforfood 2010-02-05 09:21:52

+0

我沒有找到removeSubview方法 – cristi71000 2012-09-29 19:20:02