Question

Existe-t-il un moyen d'implémenter Uiswitch avec des graphiques personnalisés pour les états de commutation? Ou comme alternative dans l'autre sens, un uibutton avec une fonctionnalité Uiswitch?

Était-ce utile?

La solution

UIButton Prend déjà en charge une fonctionnalité "Switch".

Définissez simplement une image différente dans Interface Builder pour la "configuration d'état sélectionnée" et utilisez le selected propriété de UIButton pour basculer son état.

Autres conseils

Définissez l'image pour afficher à l'état sélectionné:

[button setImage:[UIImage imageNamed:@"btn_graphics"] forState:UIControlStateSelected];

puis sur le sélecteur de retouche à l'intérieur, définissez:

button.selected = YES;

Si vous souhaitez que cela annule la sélection d'un autre bouton, définissez:

otherButton.selected = NO;

Pour construire sur ce que PGB et Nurne ont dit ci-dessus, après avoir défini vos états et attaché un sélecteur (méthode de l'é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.
     */
}

Pour l'inclinaison programmatique:

-(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];
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top