Domanda

Ho un pulsante di avvio di nome e voglio conoscere nel metodo che definisce ciò che il suo nome è e io non sono davvero sicuro di come farlo. Questo è il metodo delle chiamate pulsante.

-(IBAction) startMotion: (id)sender {
    UIButton * buttonName = (UIButton *) sender;
    NSLog(@"Button Name:  %@", buttonName.currentTitle);
}

Lo stampe NSLog

  

Pulsante Nome: (null)

È stato utile?

Soluzione 3

Stavo usando la proprietà sbagliata in Interface Builder.I stava usando nome di proprietà del pulsante nella Interface Builder anziché la proprietà titolo dalle impostazioni dei pulsanti.

Altri suggerimenti

È possibile impostare il titolo del pulsante attraverso

[b setTitle:@"Start" forState:UIControlStateNormal];

e per ottenere il titolo (currentTitle è di sola lettura e può essere pari a zero):

[b currentTitle];

A proposito, se si desidera solo per differenziare più pulsanti, si può semplicemente impostare la proprietà tag (un valore intero) dei tasti.

Inoltre, controllare se avete il pulsante specificato come IBOutlet nella classe viewController, e se è collegato correttamente come una presa in Interface Builder?

avrei preferito impostare un determinato tag e confrontare il valore di tag, piuttosto che leggendo il titolo del pulsante poiché avete la possibilità di localizzare la vostra applicazione in cui i titoli dei pulsanti saranno eventualmente essere diversa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top