Nella mia app ho una vista delle impostazioni con un paio di pulsanti (in realtà gli UISwitch). Se è selezionata l'impostazione "off" su uno degli interruttori, mi piacerebbe nascondere immediatamente il secondo interruttore. Può essere fatto?iOS/iPhone- Nascondere un pulsante quando viene cliccato su un altro
risposta
IBOutlet UIButton *btn1;
IBOutlet UIButton *btn2;
scrivere le 2 righe precedenti nel file .h e impostare le uscite con XIB.
Ora creare un metodo chiamato hideButton
-(IBAction)hideButton
{
btn1.hidden = YES;
}
in XIB allegare questo metodo con btn2
. Così ora quando si fa clic su btn2
si nasconderà btn1
.
Collegare i due interruttori come prese. diciamo switch1 & switch2.
Collegare questa funzione all'azione valueChanged.
- (IBAction)mySwitch1:(id)sender {
[switch2 setHidden:!(switch1.isOn)];
}
Ora quando switch1 non è attivo, l'interruttore2 sarà nascosto.
Fresco, molto efficace se la dichiarazione +1 ha imparato qualcosa. – Wolfert
Aggiungere un obiettivo al primo interruttore che al cambio di valore chiama l'istanza del secondo interruttore e lo nasconde.
aggiungere l'obiettivo:
[switch1 addTarget:self action:@selector(switchToggled:) forControlEvents: UIControlEventValueChanged];
chiama questo metodo:
- (void) switchToggled:(UISwitch*)switch {
if ([switch isOn]) switch2.hidden = YES;
else switch2.hidden = NO;
}
NJones if è più efficace però.
come se il pulsante fosse impostato su un'azione? – Umitk