我正在尝试使用方法[self.mySwitch setOn:YES animated:YES];
状态也在代码中发生变化,以便mecanisme工作正常但在视图中状态没有变化。因此,我将UISwitch显示为OFF并按原样运行。
当我点击它时,开关变为ON。所以我必须点击两次才能启动inCaseOff部分代码。
我希望这很清楚。
[编辑]
这是您提出的代码
- (void)viewDidLoad
{
[self manageTheSwitch];
}
- (void) manageTheSwitch{
self.mySwitch = [[UISwitch alloc]init];
if(randomObject != nil){
[self.mySwitch setOn:YES animated:YES];
}else{
[self.mySwitch setOn:NO animated:YES];
}
}
答案 0 :(得分:3)
您以编程方式将不同的UISwitch设置为视图中显示的UISwitch。您根本不必执行[[UISwitch alloc]init]
,而应该通过控制器中的IBOutlet
属性检索它(连接到IB中的视图)。
假设你确实连接了mySwitch,那么你需要做的就是删除这一行:
self.mySwitch = [[UISwitch alloc]init];
答案 1 :(得分:2)
您的问题是,您在manageTheSwitch方法中实例化了一个新按钮,而不是访问您在故事板中创建的按钮。只需消除alloc init。
答案 2 :(得分:0)
尝试使用UISwitch继承自UIControl的“selected”属性:
self.mySwitch.selected = YES;