我有一个NSTableView,它包含两列,每行有一个NSTextField和一个NSProgressIndicator对象。当我向上或向下滚动NSProgressIndicator对象闪烁时,当我选择NSTextField中包含的文本时,会发生同样的情况。有谁知道为什么?
这是我用于在'viewForTableColumn'方法中创建NSProgressIndicator对象的代码:
...
if ([identifier isEqualToString:@"Progress"]) {
NSProgressIndicator* progressIndicator = (NSProgressIndicator*)cellView.nextKeyView;
NSString *stringPercentage = [dictionary objectForKey:@"Percentage"];
[[progressIndicator animator] setDoubleValue:[stringPercentage doubleValue]];
}
...
注意:NSTextField只能选择(不可编辑)。
答案 0 :(得分:2)
我可以通过使用以下方法解决此问题:
[progressIndicator setUsesThreadedAnimation:NO];
所以最终的代码是:
...
if ([identifier isEqualToString:@"Progress"]) {
NSProgressIndicator* progressIndicator = (NSProgressIndicator*)cellView.nextKeyView;
NSString *stringPercentage = [dictionary objectForKey:@"Percentage"];
[[progressIndicator animator] setDoubleValue:[stringPercentage doubleValue]];
[progressIndicator setUsesThreadedAnimation:NO];
}
...