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
ます。