我有以下代码来创建按钮。
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];
}
我的问题是,如果按下此按钮,我该如何隐藏或删除我创建的按钮?
非常感谢
答案 0 :(得分:1)
隐藏按钮的更多解释,按钮作为发件人来到您的方法,隐藏了这个:
-(void) buttonClicked:(UIButton*)sender
{
[self text2];
sender.hidden = YES;
}
要删除,您需要将其引用计数设为0,从superview中删除并将其设置为nil,NSLog要查看它不存在。
-(void) buttonClicked:(UIButton*)sender
{
[sender removeFromSuperview];
sender = nil;
NSLog(@"View sender %@",[sender description]);
}
答案 1 :(得分:1)
您需要在视图控制器中存储对按钮的引用,其方式类似于通过UI Builder添加按钮的方式,或标记按钮,并使用viewWithTag
来检索它。
第二种方法可能更容易实施:
UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect];
but.tag = 123;
... // The rest of your code
当您需要将其删除时,请使用
[[self.view viewWithTag:123] setHidden:YES];
答案 2 :(得分:0)
[button removeFromSuperview];
Padpadpadpadpadpad
投票不投票文件