NSScrollView
NSTableView
基于自定义视图(图像、复选框和文本标签)显示。当我滚动时 - 我有重绘行的滞后(错误?)。
普通的:
滚动后出现问题:
项目(和 .xib 文件)从 Xcode 4 更新为 Xcode 5 格式。我认为这个错误出现在它之后,但我不确定。
任何建议如何解决它?
NSTableViewDataSource、NSTableViewDelegate 协议的实现:
- (NSInteger) numberOfRowsInTableView: (NSTableView *) aTableView {
return [arrayOfObjects count];
}
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
CMListItem *currentObject = [arrayOfObjects objectAtIndex: row];
NSString *currentName = [currentObject name];
BOOL currentState = [currentObject state];
NSImage *currentImage = [currentObject getArtwork];
NSString *identifier = [tableColumn identifier];
if ([identifier isEqualToString:@"MainCell"]) {
CMTableCellView *cellView = [tableView makeViewWithIdentifier: identifier owner: self];
cellView.textField.stringValue = currentName;
cellView.button.state = currentState;
cellView.imageView.image = currentImage;
return cellView;
}
return nil;
}
NSScrollView
未修改。我自己的表格单元格视图 -NSTableCellView
带有几个额外插座的子类。
更新:这件事帮助了我:为所有状态设置,Can Draw Concurrently
然后将其转换为状态。NSTableView
On
Off