1

NSTableViewRowAction 的简单示例?向左/向右滚动以删除或其他操作。

- (NSArray<NSTableViewRowAction *> *)tableView:(NSTableView *)tableView rowActionsForRow:(NSInteger)row edge:(NSTableRowActionEdge)edge
4

1 回答 1

2

您只需实现一个NSTableViewDelegate 方法,该方法返回封装表格行操作的样式、标题和处理程序代码的操作:

- (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传递给委托方法的参数来实现。

于 2018-02-12T08:33:56.753 回答