//获取当前点击的行数
- (void)onItemClicked {
_currentRow = _eventTableView.clickedRow;
}
[TableView setAction:@selector(onItemClicked)];
//双击
[TableView setDoubleAction:@selector(doubleClick)];
//. 设置默认选中行
[_tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:defaultRow] byExtendingSelection:false];
// 刷新某一行的view
[_tableView reloadDataForRowIndexes:[NSIndexSet indexSetWithIndex:_tableView.selectedRow] columnIndexes:[NSIndexSet indexSetWithIndex:0]];
//. 插入一行cellView
[_tableView insertRowsAtIndexes:[NSIndexSet indexSetWithIndex:index] withAnimation:nil];
// 删除一行cellView
[_tableView removeRowsAtIndexes:[NSIndexSet indexSetWithIndex:_tableView.selectedRow] withAnimation:nil];
// tableView的CellView设置右键菜单
需要设置自己的tableView,继承NSTableView
- (NSMenu *)menuForEvent:(NSEvent *)event // 实现此方法
if (event.type == NSEventTypeRightMouseDown) {
NSPoint menuPoint = [self convertPoint:[event locationInWindow] fromView:nil];
_currentRow = [self rowAtPoint:menuPoint];
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:_currentRow] byExtendingSelection:NO];
NSIndexSet *indexSet = [self selectedRowIndexes];
if ([indexSet containsIndex:_currentRow]) {
return [self setMenu];
}
return nil;
}
- (NSMenu *)setMenu {
NSMenu *menu = [[NSMenu alloc] init];
return menu;
}
// 设置某一行不允许选中
- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)row {
return NO;
}
// 选中行发生变化时抛出通知
- (void)tableViewSelectionDidChange:(NSNotification *)notification {
}
最后
以上就是鲜艳墨镜最近收集整理的关于NSTableView(三)常用的方法的全部内容,更多相关NSTableView(三)常用内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复