Tay*_*man 5 xcode uibutton ios
目前我有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];
}
Run Code Online (Sandbox Code Playgroud)
这非常适合创建按钮,然后我可以使用所选按钮的值填充答案框:
-(void)buttonSelected: (UIButton *)sender
{
[_buttonOne setTitle:sender.titleLabel.text forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)
但是,在填充按钮后,我想将其从屏幕上删除.如果我调用button.hidden它只是隐藏了以编程方式创建的最后一个按钮.我知道button.tag并试图使用它,但感觉我几乎需要做类似的事情:
//Hide button for tag (i know this is incorrect syntax)
button for buttonTag: 3 setHidden;
Run Code Online (Sandbox Code Playgroud)
是否有相似或类似的方法?
我试图隐藏的按钮是以编程方式创建的按钮.所以我希望_buttonOne采用创建按钮的标题(让我们调用那个letterButton),然后从视图中隐藏letterButton,
UIButton *yourBtn = (UIButton *)[self.button viewWithTag:3];
[yourBtn setHidden:YES];
(code posted by Oh Seung Kwon)
Run Code Online (Sandbox Code Playgroud)
这段代码完美无缺,但它隐藏了错误的按钮组.(隐藏_buttonOne而不是letterButton).
我想知道在笔尖中创建12个按钮并手动命名它们是不是更好......永远不会有或多或少12个.
点击按钮后,您可以hidden在操作方法的sender参数上设置属性,该参数是实际被点击的按钮.这将隐藏被轻敲的按钮.
- (void)buttonSelected:(UIButton *)sender {
[_buttonOne setTitle:sender.titleLabel.text forState:UIControlStateNormal];
[sender setHidden:YES];
}
Run Code Online (Sandbox Code Playgroud)
如果您要检索标记为的按钮,则3可以使用此代码:
[[self.view viewWithTag:3] setHidden:YES];
Run Code Online (Sandbox Code Playgroud)
我不建议您使用该tag属性 - 您应该使用Interface Builder而IBOutletCollection不是.
| 归档时间: |
|
| 查看次数: |
8477 次 |
| 最近记录: |