Ich habe ein Paar UISwitches über das valueChanged-Ereignis an eine IBAction angeschlossen. Das valueChanged-Ereignis wird ausgelöst, wenn die Schalter berührt werden. Wenn ich jedoch einen der Schalter programmgesteuert ändere, ruft er nicht meine IBAction auf.UISwitch sendet kein valueChanged-Ereignis, wenn programmgesteuert geändert
- (IBAction)switchChanged:(UISwitch *)sender {
if (sender == self.shippingSwitch) {
if (self.shippingSwitch.on && !self.PayPalSwitch.on) {
[self.PayPalSwitch setOn:YES animated:YES];
}
}
if (sender == self.PayPalSwitch) {
if (!self.PayPalSwitch.on) {
// This is not working when the PayPal switch is set via the code above
self.PayPalEmailField.backgroundColor = [UIColor grayColor];
self.PayPalEmailField.enabled = NO;
if (self.shippingSwitch.on) {
[self.shippingSwitch setOn:NO animated:YES];
}
} else {
self.PayPalEmailField.backgroundColor = [UIColor clearColor];
self.PayPalEmailField.enabled = YES;
}
}
}