Frage

ich eine Schaltfläche mit dem Namen Start habe, und ich möchte in der Methode wissen, dass es nennt, was es Name ist und ich bin nicht wirklich sicher, wie es zu tun. Dies ist die Methode der Schaltfläche Anrufe.

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

Die NSLog druckt

Button Name: (null)

War es hilfreich?

Lösung 3

Ich hatte die falsche Eigenschaft im Interface Builder.I Verwendung anstelle der Titel Eigenschaft der Schaltfläche Einstellungen Namen Eigenschaft Button im Interface Builder.

Andere Tipps

Sie können den Titel der Schaltfläche gesetzt durch

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

und den Titel zu erhalten (currentTitle schreibgeschützt ist und gleich Null sein kann):

[b currentTitle];

BTW, wenn Sie nur mehrere Tasten unterscheiden möchten, können Sie einfach den Tag-Eigenschaft (ein Integer-Wert) der Tasten.

Überprüfen Sie auch, wenn Sie die Taste angegeben als IBOutlet in Ihrem Viewcontroller Klasse haben, und es ist richtig angeschlossen als Ventil im Interface Builder?

Ich würde lieber setzen einen bestimmten Tag und vergleichen Sie den Tag-Wert, anstatt den Titel der Schaltfläche Lesen, da Sie die Möglichkeit haben, Ihre App zu lokalisieren, wo Schaltfläche Titel möglicherweise anders sein wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top