Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在不触发事件的情况下更改UISwitch值_Objective C_Ios_Controls_Uiswitch - Fatal编程技术网

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开关
除了向您显示某些功能已启用或禁用之外,没有其他用途,则您不需要目标事件