屏幕上有6个开关控件。一次只能启用一个开关。如果第五个开关打开,那么应该可以看到一个标签和一个文本字段,或者应该隐藏它。开启/关闭UISwitch的问题
我面临的问题,当5开关从关闭改变,并再次改变为关闭。标签和文字应该隐藏,但不按照要求工作。
- (void)viewDidLoad
{
[super viewDidLoad];
self.sw_switch1.on = NO;
self.sw_switch2.on = NO;
self.sw_switch3.on = NO;
self.sw_switch4.on = NO;
self.sw_switch5.on = NO;
self.sw_switch6.on = NO;
lbl_desc.hidden = YES;
txt_desc.hidden = YES;
}
-(IBAction)switchChange:(id)sender
{
if(sw_switch1.isOn)
{
//self.sw_switch1.on = NO;
self.sw_switch2.on = NO;
self.sw_switch3.on = NO;
self.sw_switch4.on = NO;
self.sw_switch5.on = NO;
self.sw_switch6.on = NO;
}
else if(sw_switch2.isOn)
{
self.sw_switch1.on = NO;
//self.sw_switch2.on = NO;
self.sw_switch3.on = NO;
self.sw_switch4.on = NO;
self.sw_switch5.on = NO;
self.sw_switch6.on = NO;
}
else if(sw_switch3.isOn)
{
self.sw_switch1.on = NO;
self.sw_switch2.on = NO;
//self.sw_switch3.on = NO;
self.sw_switch4.on = NO;
self.sw_switch5.on = NO;
self.sw_switch6.on = NO;
}
else if(sw_switch4.isOn)
{
self.sw_switch1.on = NO;
self.sw_switch2.on = NO;
self.sw_switch3.on = NO;
//self.sw_switch4.on = NO;
self.sw_switch5.on = NO;
self.sw_switch6.on = NO;
}
else if(sw_switch5.isOn)
{
self.sw_switch1.on = NO;
self.sw_switch2.on = NO;
self.sw_switch3.on = NO;
self.sw_switch4.on = NO;
//self.sw_switch5.on = NO;
self.sw_switch6.on = NO;
lbl_desc.hidden = YES;
txt_desc.hidden = YES;
}
else if(sw_switch6.isOn)
{
lbl_desc.hidden = NO;
txt_desc.hidden = NO;
self.sw_switch1.on = NO;
self.sw_switch2.on = NO;
self.sw_switch3.on = NO;
self.sw_switch4.on = NO;
self.sw_switch5.on = NO;
//self.sw_switch6.on = NO;
}
[self viewWillAppear:NO];
}
通过的时候'如果(sw_switch5.isOn)是他的代码内达到',开关5被关闭,无论如何,除非它碰巧是switch6那是之前。虽然你建议使用标签是很好的。您将展示如何设置它们,但是您不会在动作方法中使用它们。 – 2013-03-18 19:01:45
谢谢托尼蓝,这是一个完美的代码,它按照我的要求工作。 – dacsian 2013-03-20 04:21:25