Objective c 在不触发事件的情况下更改UISwitch值
我正在尝试根据您是否启用了位置服务来更改Objective c 在不触发事件的情况下更改UISwitch值,objective-c,ios,controls,uiswitch,Objective C,Ios,Controls,Uiswitch,我正在尝试根据您是否启用了位置服务来更改ui开关的值。我正在ViewDidLoad方法中设置目标事件,但由于您可以关闭应用程序并从后台将其加载回,因此我正在更改ViewDidAppear中ui开关的值: - (void)viewDidLoad { [super viewDidLoad]; [self.cell2Switch addTarget:self action:@selector(switchValueChanged:) forControlEvents:UIContro
ui开关的值。我正在ViewDidLoad
方法中设置目标事件,但由于您可以关闭应用程序并从后台将其加载回,因此我正在更改ViewDidAppear
中ui开关的值:
- (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
中指定的目标事件
有没有办法在不自动触发事件的情况下更改ui开关的值?您需要删除目标事件
如果ui开关
除了向您显示某些功能已启用或禁用之外,没有其他用途,则您不需要目标事件