ios – 隐藏以编程方式创建的标签UIButton
发布时间:2020-12-14 19:27:41 所属栏目:百科 来源:网络整理
导读:目前我有14个按钮使用for循环以编程方式创建,代码如下: int buttonCount = 14;for (int i=0; i buttonCount; i++) { //Create titleString from array object NSString *stringFromInt = [NSString stringWithFormat:@"%@",[arrayForRound objectAtIndex:i]
目前我有14个按钮使用for循环以编程方式创建,代码如下:
int buttonCount = 14; for (int i=0; i< buttonCount; i++) { //Create titleString from array object NSString *stringFromInt = [NSString stringWithFormat:@"%@",[arrayForRound objectAtIndex:i]]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button addTarget:self action:@selector(buttonSelected:) forControlEvents:UIControlEventTouchDown]; [button setTitle:stringFromInt forState:UIControlStateNormal]; button.titleLabel.font = [UIFont fontWithName:@"helvetica" size:19]; button.tag = i; [self.view addSubview:button]; } 这非常适合创建按钮,然后我可以使用所选按钮的值填充答案框: -(void)buttonSelected: (UIButton *)sender { [_buttonOne setTitle:sender.titleLabel.text forState:UIControlStateNormal]; } 但是,在填充按钮后,我想将其从屏幕上删除.如果我调用button.hidden它只是隐藏了以编程方式创建的最后一个按钮.我知道button.tag并试图使用它,但感觉我几乎需要做类似的事情: //Hide button for tag (i know this is incorrect syntax) button for buttonTag: 3 setHidden; 是否有相似或类似的方法? 更新 我试图隐藏的按钮是以编程方式创建的按钮.所以我希望_buttonOne采用创建按钮的标题(让我们调用那个letterButton),然后从视图中隐藏letterButton, UIButton *yourBtn = (UIButton *)[self.button viewWithTag:3]; [yourBtn setHidden:YES]; (code posted by Oh Seung Kwon) 这段代码完美无缺,但它隐藏了错误的按钮组. (隐藏_buttonOne而不是letterButton). 我想知道在笔尖中创建12个按钮并手动命名它们是不是更好……永远不会有或多或少12个. 解决方法
当您点击按钮时,您可以在操作方法的sender参数上设置隐藏属性,该参数是实际被点击的按钮.这将隐藏被轻敲的按钮.
- (void)buttonSelected:(UIButton *)sender { [_buttonOne setTitle:sender.titleLabel.text forState:UIControlStateNormal]; [sender setHidden:YES]; } 如果您要检索标记为3的按钮,则可以使用此代码: [[self.view viewWithTag:3] setHidden:YES]; 我不建议您使用tag属性 – 您应该使用Interface Builder和IBOutletCollection. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |