如何实现可滑动的 NSTableView 单元格?
How to implement a swipeable NSTableView cell?
NSTableViewRowAction 的简单示例?
滚动 left/right 以删除或执行其他操作。
- (NSArray<NSTableViewRowAction *> *)tableView:(NSTableView *)tableView rowActionsForRow:(NSInteger)row edge:(NSTableRowActionEdge)edge
您只需实施 NSTableViewDelegate
method return 的操作,封装样式、标题和处理程序代码,用于您的 table 行操作:
- (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];
}
请注意,return 值是一个数组,因此每行可以 return 多个操作。如果您想 return 为每个滑动方向执行不同的操作,您可以通过检查传递给委托方法的 edge
参数来实现。
NSTableViewRowAction 的简单示例? 滚动 left/right 以删除或执行其他操作。
- (NSArray<NSTableViewRowAction *> *)tableView:(NSTableView *)tableView rowActionsForRow:(NSInteger)row edge:(NSTableRowActionEdge)edge
您只需实施 NSTableViewDelegate
method return 的操作,封装样式、标题和处理程序代码,用于您的 table 行操作:
- (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];
}
请注意,return 值是一个数组,因此每行可以 return 多个操作。如果您想 return 为每个滑动方向执行不同的操作,您可以通过检查传递给委托方法的 edge
参数来实现。