NSCollectionViewItem的自定义视图在onReloadData

时间:2017-09-07 14:54:29

标签: swift macos swift3 calayer nscollectionview

我有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(); 的重用。我怎么能避免这个?有什么想法吗?

0 个答案:

没有答案