我正在尝试根据您是否启用了位置服务来更改UISwitch
的值。我正在使用ViewDidLoad
方法设置目标事件,但由于您可以关闭应用从后台加载它,我正在更改UISwitch
中ViewDidAppear
的值}:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.cell2Switch addTarget:self action:@selector(switchValueChanged:) forControlEvents:UIControlEventValueChanged];
...
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
if(![AppDelegate sharedAppDelegate].locationServicesEnabled && self.cell2Switch.on)
{
self.cell2Switch.userInteractionEnabled = NO;
[self.cell2Switch setOn:NO];
}
}
当我更改值时,它会触发我在ViewDidLoad
中分配的目标事件。
有没有办法可以在不自动触发事件的情况下更改UISwitch
的值?
答案 0 :(得分:2)
您需要删除目标事件。
如果UISwitch
没有任何用途,只是为了向您显示已启用或禁用某些内容,则您不需要目标事件。