ros*_*ump 6 objective-c uibutton ios xcode5
我有一个简单的问题,我似乎无法找到答案.
我有几个UIButtons存储在一个NSArray,有一个for循环设置button.selected = YES时,他们被轻拍.我需要在点击时取消选择相同的按钮,但我似乎无法在网上找到任何帮助.这是我的代码:
- (IBAction)buttonPressed:(UIButton *)sender {
NSArray *buttons = [NSArray arrayWithObjects:_asbBtn, _vwfBtn, _bpBtn, _rtaBtn, _mslmBtn, _pbaBtn, _rcfBtn, _mspBtn, _wpBtn, _aawBtn, _ppiBtn, _convBtn, nil];
// Select buttons
for (UIButton *button in buttons) {
if (button == sender) {
button.selected = YES;
}
}
}
Run Code Online (Sandbox Code Playgroud)
也许这不是最好的方法,对不起,如果我错过了一些简单的事情.我尝试过添加,else { button.selected = NO;但这只允许选择一个按钮并取消选择所有其他按钮.有人可以指导我正确的方向,在点击时取消选择当前选定的按钮.
Ima*_*tit 13
如果要在每次单击实例时在选定和未选定状态之间切换UIButton,可以使用下面的Objective-C代码:
- (IBAction) buttonPressed:(id)sender {
if ([sender isSelected]) {
[sender setSelected: NO];
} else {
[sender setSelected: YES];
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,您可以使用更短的实现获得相同的结果:
- (IBAction) buttonPressed:(id)sender {
[sender setSelected: ![sender isSelected]];
}
Run Code Online (Sandbox Code Playgroud)
使用Swift 3,您将使用以下代码:
@IBAction func buttonPressed(_ sender: UIButton) {
sender.isSelected = !sender.isSelected
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12887 次 |
| 最近记录: |