2

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

4

1 回答 1

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];
}
...
于 2013-10-07T15:32:52.920 回答