Cocoa NSTableView&x2B;N程序指示器闪烁问题

Cocoa NSTableView&x2B;N程序指示器闪烁问题,cocoa,nstableview,nsprogressindicator,Cocoa,Nstableview,Nsprogressindicator,我有一个NSTableView,它包含两列,每行上有一个NSTextField和一个NSProgressIndicator对象。当我向上或向下滚动NSPROGESSINDICATOR对象时,当我选择NSTEXT字段中包含的文本时,也会发生同样的情况。有人知道为什么吗 这是我用于在“viewForTableColumn”方法中创建NSProgressIndicator对象的代码: ... if ([identifier isEqualToString:@"Progress"]) { NSP

我有一个NSTableView,它包含两列,每行上有一个NSTextField和一个NSProgressIndicator对象。当我向上或向下滚动NSPROGESSINDICATOR对象时,当我选择NSTEXT字段中包含的文本时,也会发生同样的情况。有人知道为什么吗

这是我用于在“viewForTableColumn”方法中创建NSProgressIndicator对象的代码:

... 
if ([identifier isEqualToString:@"Progress"]) {
   NSProgressIndicator* progressIndicator = (NSProgressIndicator*)cellView.nextKeyView;
   NSString *stringPercentage  = [dictionary objectForKey:@"Percentage"];
   [[progressIndicator animator] setDoubleValue:[stringPercentage doubleValue]];
}
...

注意:NSTextField仅可选择(不可编辑)。

我可以使用以下方法解决此问题:
[progressIndicator setUsesThreadedAnimation:否]

因此,最终代码是:

... 
if ([identifier isEqualToString:@"Progress"]) {
   NSProgressIndicator* progressIndicator = (NSProgressIndicator*)cellView.nextKeyView;
   NSString *stringPercentage  = [dictionary objectForKey:@"Percentage"];
   [[progressIndicator animator] setDoubleValue:[stringPercentage doubleValue]];
   [progressIndicator setUsesThreadedAnimation:NO];
}
...

同样的问题在这里。。。你找到解决方法了吗?@NSAddict我通过添加[code]([progressIndicator setUsesThreadedAnimation:NO];)找到了解决方法。请告诉我它是否对你有效:)我实际上编写了自己版本的
NSProgressIndicator
。它有很多优点,而且不会闪烁;)顺便说一句,您应该添加您的解决方案作为答案。