cocoa - NSTableViewRowAction - 点击后向后滑动
问题描述
我使用 向我的表格视图添加了滑动功能tableView(_:rowActionsForRow:edge:) -> [NSTableViewRowAction]
,但我发现当我单击前导按钮时,它工作正常,但它只是不会向后滑动。
这是我的行操作的代码:
extension ViewController: NSTableViewDelegate {
func tableView(_ tableView: NSTableView, rowActionsForRow row: Int, edge: NSTableView.RowActionEdge) -> [NSTableViewRowAction] {
// some other codes
switch edge {
case .trailing:
// some other codes
case .leading:
let revealInFinderAction = NSTableViewRowAction(style: .regular, title: "Reveal in Finder") { (action, row) in
self.revealInFinder(row: row)
}
revealInFinderAction.backgroundColor = .systemOrange
return [revealInFinderAction]
}
}
}
例如,我的一个按钮执行“在 Finder 中显示”工作(revealInFinderAction
),单击按钮后,它在 Finder 中显示文件,但没有滑回。
我发现 Apple 的邮件应用程序可以完美地处理这个问题,在滑动其中一个单元格后单击标记为已读/未读按钮后,它完成了它的工作并自动滑回。我只是想找到一种方法让同样的事情发生。
我已经对如何实现这一目标进行了研究,但我找不到解决方案,有没有人可以帮助我?我在 macOS 10.14 上使用 Xcode 10 和 Swift 4。
解决方案
尝试设置tableView.rowActionsVisible = false
,如下所示:
case .leading:
let revealInFinderAction = NSTableViewRowAction(style: .regular, title: "Reveal in Finder") { (action, row) in
self.revealInFinder(row: row)
tableView.rowActionsVisible = false
}
revealInFinderAction.backgroundColor = .systemOrange
return [revealInFinderAction]
推荐阅读
- typescript - 有没有办法获取打字稿对象的所有必需属性
- sql - SQL 在 WHERE 语句中使用参数
- c# - 为什么我调用 ASPNET Core 2.1 Database Migrate 的实现没有实际应用迁移?
- java - 使用 Java 流按集合属性分组
- c# - 在 TCP 中按下 Enter 键之前如何接收数据流?
- python - 如何从python中的文件中以特定顺序获取输入
- karate - 可以将每个场景的相同断言放在单独的文件中以避免空手道重复?
- testing - 如何测试使用 React 测试库安装后立即卸载的组件?
- javascript - Element-ui 视图无法在插槽区域立即更新
- robots.txt - 在谷歌搜索,网站没有显示任何描述?