NSTableView:用于编辑列配置的上下文菜单



在一些OSX应用程序中,控件单击NSTableView的标题会弹出一个上下文菜单,用户可以选择哪些列可见。

这是我需要手动实现的东西,还是很难找到Cocoa功能?

AFAIK,它不是NSTableView的标准功能。您必须通过设置NSTableHeaderView的菜单自行实现它。

  NSMenu *menu = [[NSMenu alloc] initWithTitle:@""];
  menu.font = [NSFont menuFontOfSize:[NSFont smallSystemFontSize]];
  menu.showsStateColumn = YES;
  for (NSTableColumn *column in tableView.tableColumns) {
    NSMenuItem *item = [menu addItemWithTitle:column.headerToolTip action:@selector(toggleTableColumn:) keyEquivalent:@""];
    item.state = [column isHidden] ? NSOffState : NSOnState;
    item.representedObject = column;
  }
  tableView.headerView.menu = menu;

最新更新