Cambiar el contenido de un NSTextField a través del código cuando el usuario lo enfoca / lo edita

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

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

¿Fue útil?

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.

Propiedades de NSTextField

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top