【发布时间】:2017-07-17 13:57:02
【问题描述】:
我知道这个问题经常被问到,我已经应用了很多代码,但仍然没有得到解决方案。
我有三个单选按钮,当我选择 radiobutton1 时它显示显示按钮,现在我希望当用户单击 radiobutton1 它显示按钮时,第一个按钮是预先选择的,如果用户想从中选择其他按钮选项按钮背景颜色和文本颜色应该改变。
我正在尝试一些代码,但只更改了第一个按钮的颜色,它不会更改其他按钮的颜色。我的代码是:
-(void)btnClick:(UIButton *)sender{
switch (sender.tag) {
case 1:
if ([rd1 isSelected]==YES ) {
[rd1 setSelected:YES];
}
else{
[rd1 setSelected:YES];
[rd2 setSelected:NO];
[rd3 setSelected:NO];
_house.hidden=NO;
_flat.hidden=NO;
_upperP.hidden=NO;
_lowerP.hidden=NO;
_farmH.hidden=NO;
_roomB.hidden=NO;
_pentH.hidden=NO;
_resident.hidden=YES;
_commercial.hidden=YES;
_agricult.hidden=YES;
_industry.hidden=YES;
_plot.hidden=YES;
_plotF.hidden=YES;
_office.hidden=YES;
_shop.hidden=YES;
_wareH.hidden=YES;
_factory.hidden=YES;
_building.hidden=YES;
_other.hidden=YES;
if ([_house isSelected]==YES) {
House=_house.titleLabel.text;
NSLog(@"Button is %@",House);
_flat.enabled=NO;
_upperP.enabled=NO;
_lowerP.enabled=NO;
_farmH.enabled=NO;
_roomB.enabled=NO;
_pentH.enabled=NO;
}
else if ([_flat isSelected]==YES) {
_house.enabled=NO;
_upperP.enabled=NO;
_lowerP.enabled=NO;
_farmH.enabled=NO;
_roomB.enabled=NO;
_pentH.enabled=NO;
}
[self BgColor];
}
break;
case 2:
if ([rd2 isSelected]==YES ) {
[rd2 setSelected:NO];
}
else{
[rd2 setSelected:YES];
[rd1 setSelected:NO];
[rd3 setSelected:NO];
_resident.hidden=NO;
_commercial.hidden=NO;
_agricult.hidden=NO;
_industry.hidden=NO;
_plot.hidden=NO;
_plotF.hidden=NO;
_house.hidden=YES;
_flat.hidden=YES;
_upperP.hidden=YES;
_lowerP.hidden=YES;
_farmH.hidden=YES;
_roomB.hidden=YES;
_pentH.hidden=YES;
_shop.hidden=YES;
_wareH.hidden=YES;
_factory.hidden=YES;
_building.hidden=YES;
_other.hidden=YES;
_office.hidden=YES;
}
break;
case 3:
if ([rd3 isSelected]==YES ) {
[rd3 setSelected:NO];
}
else{
[rd3 setSelected:YES];
[rd2 setSelected:NO];
[rd1 setSelected:NO];
_office.hidden=NO;
_shop.hidden=NO;
_wareH.hidden=NO;
_factory.hidden=NO;
_building.hidden=NO;
_other.hidden=NO;
_house.hidden=YES;
_flat.hidden=YES;
_upperP.hidden=YES;
_lowerP.hidden=YES;
_farmH.hidden=YES;
_roomB.hidden=YES;
_pentH.hidden=YES;
_resident.hidden=YES;
_commercial.hidden=YES;
_agricult.hidden=YES;
_industry.hidden=YES;
_plot.hidden=YES;
_plotF.hidden=YES;
}
break;
default:
break;
}
}
-(void)BgColor{
if ([_house isSelected]==YES) {
[_house setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_house.backgroundColor=[UIColor redColor];
}
else if (([_flat isSelected]==YES)){
[_flat setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_flat.backgroundColor=[UIColor redColor];
}
}
【问题讨论】:
标签: ios objective-c button