UIButton Titel änderungen zum Standard
Ich glaube, das ist wahrscheinlich eine dumme Frage... aber trotzdem habe ich diese Art von seltsam UIButton
Titel Verhalten.
Die Taste ist eingerichtet und verbunden ist, um gleichzeitig eine Aktion und eine Immobilie in IB (die Aktion ist startButtonPushed
und die Unterkunft ist startButton
). Innerhalb der view-controller habe ich die Aktion wie folgt eingerichtet:
bool buttonStateStop;
- (IBAction)startPushed:(id)sender
{
if (buttonStateStop)
{
[appD.locationManager stopSavingLocations];
startButton.titleLabel.text = @"Start";
buttonStateStop = NO;
}
else
{
[appD.locationManager startSavingLocations];
startButton.titleLabel.text = @"Stop";
buttonStateStop = YES;
}
}
Ursprünglich hatte ich die Standard-Titel bei der IB auf "Start" aber immer, wenn ich drückte auf den Knopf, es würde sich ändern, auf "Stop" für einen Bruchteil einer Sekunde und dann wieder zurück. Ich verbrachte eine Weile, um herauszufinden, warum der Titel immer wieder auf "Start". Schließlich änderte ich die IB Titel "xxxxxx" und erkannte, dass egal, was der IB-Titel bekommt bekräftigte unmittelbar nach dem Titel der Schaltfläche wechselt.
Die Frage ist also: warum IB halten, ändern Sie die Schaltfläche Titel auf Standard zurück? Ich habe noch nie in diesem Verhalten vor. Und (natürlich) wie kann ich es beheben?
Extra-info: die nur Verweise auf die Schaltfläche werden die @property
, @synthesize
und die Aussagen in den obigen code. Die Sicht ist innerhalb von einem navigation controller.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
setTitle:forState:
- Methode anstelle der Einstellung dertitleLabel.text
Eigenschaft:Was jetzt passiert, ist, dass Sie den Titel in der Bezeichnung steht für den Blick auf den aktuellen Stand, aber sobald der Status von " geschoben, um den normalen, der button setzt das label zurück, um den Titel für den neuen Staat (das ist der text, den Sie setzen in der IB).
Swift version von dies ist
startButton.setTitle("Start", for: .normal)
bis Sie Sie wieder ändern