Je veux régler mon UISwitch sur on ou off de manière programmée. Comment puis-je faire ça ? Je suis nouveau sur iOS.
Upvoté pour cette ligne : UISwitch *switchObject = (UISwitch *)sender;
Je veux régler mon UISwitch sur on ou off de manière programmée. Comment puis-je faire ça ? Je suis nouveau sur iOS.
Si vous utilisez un UISwitch, alors comme mentionné dans l'API du développeur, la tâche setOn: animated:
devrait faire l'affaire.
- (void)setOn:(BOOL)on animated:(BOOL)animated
Donc pour activer l'interrupteur dans votre programme, vous utiliseriez :
Objective-C
[switchName setOn:YES animated:YES];
Swift
switchName.setOn(true, animated: true)
Utilisez ce code pour résoudre le problème d'état marche/arrêt dans un interrupteur sur iOS
- (IBAction)btnSwitched:(id)sender {
UISwitch *switchObject = (UISwitch *)sender;
if(switchObject.isOn){
self.lblShow.text=@"L'état de l'interrupteur est désactivé";
}else{
self.lblShow.text=@"L'état de l'interrupteur est activé";
}
J'utilise également la méthode setOn:animated:
pour cela et ça fonctionne bien. Voici le code que j'utilise dans la méthode viewDidLoad
d'une application pour basculer un UISwitch
en code afin qu'il se charge préconfiguré.
// Vérifiez le statut de l'autoPlaySetting
BOOL autoPlayOn = [[NSUserDefaults standardUserDefaults] boolForKey:@"autoPlay"];
[self.autoplaySwitch setOn:autoPlayOn animated:NO];
ViewController.h
- (IBAction)switchAction:(id)sender;
@property (strong, nonatomic) IBOutlet UILabel *lbl;
ViewController.m
- (IBAction)switchAction:(id)sender {
UISwitch *mySwitch = (UISwitch *)sender;
if ([mySwitch isOn]) {
self.lbl.backgroundColor = [UIColor redColor];
} else {
self.lbl.backgroundColor = [UIColor blueColor];
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.