在我的NSCollectionViewItem
中,我设置了mouseDown函数,该函数在视图中调用了setSelected()
函数。
override func mouseDown(with event: NSEvent) {
(self.view as! ListTableViewCell).setHighlighted(true, animated: true, completionHandler:{
print("completionHandler called")
self.delegate?.collectionViewItem(self, didSelectAtIndexPath: self.indexPath!)
super.mouseDown(with: event)
})
}
正如您所看到的,然后在completionHandler中,我调用委托并告诉它已选择了一个单元格。然后,在该委托函数中,取消选择该行。
override func tableView(_ tableView: AppTableView, didSelectRowAtIndexPath indexPath: IndexPath) {
print("didSelectRowAtIndexPath()")
tableView.deselectRow(at: indexPath, animated: true)
print(indexPath)
}
此代码有效,但是当它执行时,它几乎立即执行,从而使backgroundColor更改不可见。我该如何制作动画?还是放慢速度?还是有其他解决方案?