Existe-t-il un moyen d'implémenter UISwitch avec des graphiques personnalisés pour les états de commutation? Ou comme alternative, un UIButton avec la fonctionnalité UISwitch?
Réponses
Trop de publicités?
nurne
Points
978
paramétrez l'image pour qu'elle apparaisse dans l'état sélectionné:
[button setImage:[UIImage imageNamed:@"btn_graphics"] forState:UIControlStateSelected];
puis sur le sélecteur à l'intérieur du sélecteur, définissez:
button.selected = YES;
si vous souhaitez que cela annule la sélection d'un autre bouton, définissez:
otherButton.selected = NO;
Shaolo
Points
381
Pour poursuivre sur ce que PGB et nurne ont dit plus haut, après avoir défini vos états et attaché un sélecteur (méthode d’événement), vous voudriez mettre ce code dans ce sélecteur.
- (IBAction)cost:(id)sender
{
//Toggle current state and save
self.buttonTest.selected = !self.buttonTest.selected;
/**
The rest of your method goes here.
*/
}
Thunder Rabbit
Points
2285
Pour incliné par programme:
-(void) addToggleButton {
CGRect aframe = CGRectMake(0,0,100,100);
UIImage *selectedImage = [UIImage imageNamed:@"selected"];
UIImage *unselectedImage = [UIImage imageNamed:@"unselected"];
self.toggleUIButton = [[UIButton alloc] initWithFrame:aframe];
[self.toggleUIButton setImage:unselectedImage forState:UIControlStateNormal];
[self.toggleUIButton setImage:selectedImage forState:UIControlStateSelected];
[self.toggleUIButton addTarget:self
action:@selector(clickToggle:)
forControlEvents:UIControlEventTouchUpInside];
[self addSubview:self.toggleUIButton];
}
-(void) clickToggle:(id) sender {
BOOL isSelected = [(UIButton *)sender isSelected];
[(UIButton *) sender setSelected:!isSelected];
}