Alterar o conteúdo de um NSTextField via código quando ele é focado / editado pelo usuário
-
27-10-2019 - |
Pergunta
Eu tenho um NSSlider que atualiza o conteúdo de um NSTextField.Por enquanto, tudo bem.Funciona desde que o NSTextField não seja focado ou seja editado pelo usuário (digitando ou permanecendo em branco etc.).
O que estou tentando fazer funcionar é forçar a atualização do NSTextField via código, não importa o que o usuário esteja fazendo.
Este é o código do evento de valor alterado do controle deslizante:
-(IBAction) sliderTempoMoved: (id)sender{
[soundEngine setTempo:[sender floatValue]];
[labelTempo setStringValue:[NSString stringWithFormat:@"%0.2f%",[sender floatValue]]];
NSLog(@"slideTempoMoved: %f",[sender floatValue]);
}
O método setStringValue funciona desde que o NSTextField não seja editado ...
Alguma pista sobre este problema ??
Atenciosamente, Alex
Solução
Não sei o quanto isso é útil, mas tentei seu código e o NSTextField é atualizado, esteja ou não sendo editado.Compare suas propriedades NSTextField com as minhas.Talvez algo esteja impedindo que seja atualizado.
Você também pode tentar chamar [labelTempo abortEditing]
antes da chamada para setStringValue
.