Cambiar el contenido de un NSTextField a través del código cuando el usuario lo enfoca / lo edita
-
27-10-2019 - |
Pregunta
Tengo un NSSlider que actualiza el contenido de un NSTextField.Hasta aquí todo bien.Funciona siempre que el NSTextField no esté enfocado o sea editado por el usuario (escribiendo o permaneciendo en blanco, etc.).
Lo que estoy tratando de hacer es forzar la actualización de NSTextField a través del código, sin importar lo que esté haciendo el usuario.
Ese es el código del evento de valor cambiado del control deslizante:
-(IBAction) sliderTempoMoved: (id)sender{
[soundEngine setTempo:[sender floatValue]];
[labelTempo setStringValue:[NSString stringWithFormat:@"%0.2f%",[sender floatValue]]];
NSLog(@"slideTempoMoved: %f",[sender floatValue]);
}
El método setStringValue funciona siempre que el NSTextField no se edite ...
¿Alguna pista sobre este problema?
Saludos, Alex
Solución
No sé cuánto ayuda esto, pero probé su código y NSTextField se actualiza ya sea que se esté editando o no.Compare sus propiedades NSTextField con las mías.Quizás hay algo que impide que se actualice.
También puede intentar llamar a [labelTempo abortEditing]
antes de llamar a setStringValue
.