2014-12-01 115 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

和向下投不阅读文档