NSTableView + NSProgressIndicator闪烁问题

时间:2013-08-09 08:28:20

标签: cocoa nstableview nsprogressindicator

我有一个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只能选择(不可编辑)。

1 个答案:

答案 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];
}
...