Ios 段控制不';t转换按钮

Ios 段控制不';t转换按钮,ios,uisegmentedcontrol,Ios,Uisegmentedcontrol,我有段控制代码: -(IBAction)sectionswitch:(id)sender { if (control.selectedSegmentIndex == 0) { [button addTarget:self action:@selector(call1:) forControlEvents:UIControlEventTouchUpInside]; [button setTitle:@"+000000000000" forState: UI

我有段控制代码:

-(IBAction)sectionswitch:(id)sender {

    if (control.selectedSegmentIndex == 0) {
        [button addTarget:self action:@selector(call1:) forControlEvents:UIControlEventTouchUpInside];
        [button setTitle:@"+000000000000" forState: UIControlStateNormal] ;
    }

    if (control.selectedSegmentIndex == 1) {
        [button addTarget:self action:@selector(call2:) forControlEvents:UIControlEventTouchUpInside];
        [button setTitle:@"+111111111111" forState: UIControlStateNormal] ;
    }

}


- (IBAction)call1:(id)sender {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://+000000000000"]];
}

- (IBAction)call2:(id)sender {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://+111111111111"]];
}
但当我更改段控制按钮时,总是调用+111111
如何修复?

每次切换分段控件时,您的代码将向按钮添加目标/操作。请注意,它添加而不是替换

因此,当您从+000切换到+111并返回时,该按钮现在添加了两个目标/操作,并将同时调用
call1:
call2:
方法


在添加目标/操作之前,您应该删除添加到按钮的上一个目标/操作,方法是
removeTarget:action:forControlEvents:

好听!请记住接受有助于解决问题的答案。