Я пытаюсь изменить значение 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
без автоматического запуска события?