cocoa - NSTableView + NSProgressIndicator 闪烁问题

标签 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 只能选择(不可编辑)。

最佳答案

我可以使用以下方法解决这个问题: [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];
}
...

关于cocoa - NSTableView + NSProgressIndicator 闪烁问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18142801/

相关文章:

objective-c - 在自定义 NSView 放置事件的每个实例的基础上执行某些操作

objective-c - 使用 Cocoa 自动布局在自定义 View 中填充内容

swift - 如何使用 Swift 通过 NSPopUpButton 访问和排序 NSTableView

xcode - NSTableView reloadData方法导致所有行中的NSProgressIndicator更新和闪烁

swift - NSProgressIndicator Swift - Alamofire

objective-c - 如何解决? 'NSProgressIndicator'之前预期的说明符限定符列表

objective-c - PDFKit 中的内存泄漏与这个简单的代码?

cocoa - 具有比例变换的模糊 CATextLayer

arrays - 如何从 NSArrayController 中删除对象

swift - NSProgressIndicator 无法在带有回调的函数内部工作