Ändern des Inhalts eines NSTextField über Code, wenn es fokussiert ist / vom Benutzer bearbeitet wird

StackOverflow https://stackoverflow.com/questions/7334298

Frage

Ich habe einen NSSlider, der den Inhalt eines NSTextField aktualisiert.So weit, ist es gut.Dies funktioniert so lange, wie das NSTextField nicht fokussiert ist oder vom Benutzer bearbeitet wird (Eingabe oder Leerzeichen usw.).

Ich versuche, die Aktualisierung des NSTextField per Code zu erzwingen, unabhängig davon, was der Benutzer tut.

Das ist der Code des Ereignisses mit geändertem Wert des Schiebereglers:

-(IBAction) sliderTempoMoved: (id)sender{
[soundEngine setTempo:[sender floatValue]];

[labelTempo setStringValue:[NSString stringWithFormat:@"%0.2f%",[sender floatValue]]];
 NSLog(@"slideTempoMoved: %f",[sender floatValue]);
}

Die setStringValue-Methode funktioniert, solange das NSTextField nicht bearbeitet wird ...

Irgendwelche Hinweise zu diesem Problem?

Grüße, Alex

War es hilfreich?

Lösung

Ich weiß nicht, wie viel Hilfe dies ist, aber ich habe Ihren Code ausprobiert und das NSTextField wird aktualisiert, unabhängig davon, ob es gerade bearbeitet wird oder nicht.Überprüfen Sie Ihre NSTextField-Eigenschaften anhand meiner.Vielleicht verhindert etwas, dass es aktualisiert wird.

Sie können auch versuchen, [labelTempo abortEditing] vor dem Aufruf von setStringValue aufzurufen.

NSTextField Properties

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