1

我有一个更新 NSTextField 内容的 NSLider。到现在为止还挺好。只要 NSTextField 没有被聚焦或被用户编辑(键入或保持空白等),它就可以工作。

无论用户在做什么,我都试图通过代码强制更新 NSTextField 。

这是滑块更改值事件的代码:

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

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

只要 NSTextField 没有被编辑,setStringValue 方法就可以工作......

关于这个问题的任何线索?

问候,亚历克斯

4

1 回答 1

1

我不知道这有多大帮助,但是我尝试了您的代码,并且无论当前是否正在编辑 NSTextField 都会更新。对照我的检查您的 NSTextField 属性。也许有什么东西阻止它更新。

您也可以尝试[labelTempo abortEditing]在调用setStringValue.

NSTextField 属性

于 2011-09-07T18:02:37.413 回答