2016-12-20 14 views
0

我在我的应用程序中遇到了问题,其中显示了NSTableView。此表视图显示了整个NSTableColumn的NSButtonCell为DataCell的行的列表。在尝试了很多方法找到延迟的根本原因之后,我放弃并创建了一个简单的项目,只是让NSTableView显示包含“Hi”文本的行列表。我很惊讶地看到这个应用程序中也存在延迟。在NSTableView中取消选择一行需要时间

使用案例尝试:我用Cmd和鼠标单击选择了4行。然后,我从以前选择的行列表中只选择一行,而不使用命令。后面的行动需要2-4秒才能体现出来。 4秒在10.8.5 OSX和2秒在10.11.6 OSX

这里复制的代码,供大家参考 -

@implementation AppDelegate 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    // Insert code here to initialize your application 
    [self.tableView setDelegate:self]; 
    [self.tableView setDataSource:self];  
    [self.tableView setAllowsMultipleSelection:YES]; 
    [self.tableView setAllowsEmptySelection:YES]; 
} 

#pragma mark - Table View - 

- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { 
    return @"Hi"; 
} 

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { 
    return 10; 
} 

@end 

请帮我解决这个滞后或用其他的方式来做出这个动作提示即时。

+0

你尝试没有图像? – Willeke

+0

@Willeke是的。我现在编辑了代码。问题依然存在。 –

+0

您是否创建了新项目并将新的表格视图拖到窗口中,或者是否从现有项目的副本中删除了其他项目? – Willeke

回答

0

取消选择行所需的时间等于在我们的系统首选项中配置的双击速度。

我已经提交了一个苹果bug,并知道这一点。在我的系统中,双击间隔设置为很长时间,因此在表格视图中取消选择也需要相当长的时间。

非常感谢苹果,也想分享这个,因为你不会浪费时间调试它。