NSTableViewRowAction的一个简单示例? 向左/向右滚动以删除或执行其他操作。
- (NSArray<NSTableViewRowAction *> *)tableView:(NSTableView *)tableView rowActionsForRow:(NSInteger)row edge:(NSTableRowActionEdge)edge
答案 0 :(得分:2)
您只需要实现一个NSTableViewDelegate
method,它返回封装表行操作的样式,标题和处理程序代码的操作:
- (NSArray<NSTableViewRowAction *> *)tableView:(NSTableView *)tableView rowActionsForRow:(NSInteger)row edge:(NSTableRowActionEdge)edge
{
NSTableViewRowAction *action = [NSTableViewRowAction rowActionWithStyle:NSTableViewRowActionStyleDestructive title:@"Delete" handler:^(NSTableViewRowAction * _Nonnull action, NSInteger row) {
// TODO: You code to delete from your model here.
NSLog(@"Delete");
}];
return @[action];
}
请注意,返回值是一个数组,因此每行可以返回多个操作。如果要为每个滑动方向返回不同的操作,可以通过检查传递给委托方法的edge
参数来执行此操作。