Ios 以编程方式删除UIButton
我有下面的代码来创建按钮Ios 以编程方式删除UIButton,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我有下面的代码来创建按钮 UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect]; [but addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; [but setFrame:CGRectMake(655, 320, 35,
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];
}
我的问题是,如果按下此按钮,如何隐藏或删除我创建的此按钮
非常感谢更多关于隐藏按钮的说明,作为发送者,按钮进入您的方法,隐藏此按钮:
-(void) buttonClicked:(UIButton*)sender
{
[self text2];
sender.hidden = YES;
}
要删除,您需要它的引用计数为0,从superview中删除并将其设置为零,它要看到的NSLog不存在
-(void) buttonClicked:(UIButton*)sender
{
[sender removeFromSuperview];
sender = nil;
NSLog(@"View sender %@",[sender description]);
}
您需要在视图控制器中存储对按钮的引用,其方式类似于通过UI Builder添加按钮的方式,或者标记按钮,并使用
viewWithTag
检索它
第二种方法可能更容易实施:
UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect];
but.tag = 123;
... // The rest of your code
当您需要删除它时,请使用
[[self.view viewWithTag:123] setHidden:YES];
[从SuperView中移除按钮]代码>
焊盘
对不阅读文档进行否决投票最好添加一个描述,而且这只会隐藏按钮问题的另一半呢?移除它。@Popeye给你。最好的