2014-12-01 50 views
-2

我有下面的代碼來創建按鈕。編程刪除UIButton

UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
       [but addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
       [but setFrame:CGRectMake(655, 320, 35, 35)]; 
       but.translatesAutoresizingMaskIntoConstraints = YES; 
       [but setTitle:@"Login" forState:UIControlStateNormal]; 
       [but setExclusiveTouch:YES]; 
       [self.view addSubview:but]; 

並使用此代碼識別觸摸。

-(void) buttonClicked:(UIButton*)sender 
{ 

    [self text2]; 

} 

我的問題是如何隱藏或刪除我創建的按鈕,如果我按下此按鈕?

非常感謝

回答

1

更多的解釋,以隱藏按鈕,按鈕來你的方法作爲發件人,隱藏的是:

-(void) buttonClicked:(UIButton*)sender 
{ 
    [self text2]; 
    sender.hidden = YES; 
} 

要刪除,你需要它的引用計數爲0,從刪除超級查看並放到零,NSLog它看到比它不存在。

-(void) buttonClicked:(UIButton*)sender 
{ 
     [sender removeFromSuperview]; 
     sender = nil; 
     NSLog(@"View sender %@",[sender description]); 
} 
+1

如果要添加一個描述,這也只是隱藏了按鈕,而另一半的問題呢?刪除它。 – Popeye 2014-12-01 17:30:49

+0

@Popeye你在這裏。最好 – 2014-12-01 17:41:15

1

你需要,要麼存儲到按鈕的引用您的視圖控制器類似於它是如何通過UI生成器添加的按鈕做的一種方式,或標籤上的按鈕,並使用viewWithTag進行檢索。

第二種方法可能更容易實現:

UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
but.tag = 123; 
... // The rest of your code 

,當您需要將其刪除,請使用

[[self.view viewWithTag:123] setHidden:YES]; 
0

[button removeFromSuperview];

Padpadpadpadpadpad

和向下投不閱讀文檔