backgroundColor变化不可见

时间:2018-08-09 09:53:17

标签: swift macos nscollectionview nscollectionviewitem

在我的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更改不可见。我该如何制作动画?还是放慢速度?还是有其他解决方案?

0 个答案:

没有答案