我使用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]
}
}
}
例如,,我的一个按钮做“显示在查找者”的工作(revealInFinderAction
),点击按钮后,它在查找器中显示文件,但它没有向后滑动。
我发现苹果的Mail应用程序可以很好地处理这个问题,在滑动其中一个单元格后单击Mark /unread按钮后,它就完成了它的工作,并自动向后滑动。我只想找个办法让同样的事情发生。
我研究过如何做到这一点,但我找不到解决办法,有人能帮我吗?我在macOS 10.14上使用Xcode 10和Swift 4。
发布于 2019-02-06 02:02:08
尝试设置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]
https://stackoverflow.com/questions/54503150
复制