我有NSCollectionViewItem
个自定义视图,在该视图中我将自定义CALayer
添加到某些项目中。在按钮操作上,我调用NSCollectionView
的{{1}}方法来重新加载不同的数据。这会导致自定义reloadData()
在项目更改时闪烁。知道怎么解决吗?
根据某些条件将CALayer
添加到项目视图
CALayer
点击按钮时调用的功能
circleLayer = CALayer();
let dimension = floor(min(bounds.width, bounds.height) - 10);
circleLayer.frame = NSMakeRect(4.5, 4, dimension, dimension);
circleLayer.cornerRadius = dimension / 2;
backgroundLayer.backgroundColor = NSColor(red: 84/255, green: 84/255, blue: 87/255, alpha: 1.0).cgColor;
circleLayer.masksToBounds = false;
circleLayer.isHidden = false;
layer?.addSublayer(circleLayer);
因此,当单击按钮时,其他项目的背景颜色会发生变化,但前一项目的背景颜色会闪烁。我想这可能是由于//loading different data
collectionView.reloadData();
的重用。我怎么能避免这个?有什么想法吗?