我向UICollectionView添加了渐变图层,但图层设置为屏幕宽度。我试图在滚动时保持图层静态,但找不到解决方案。尝试设置collectionView的框架和当前的VC,当我滚动图层也滚动。这是我的代码,谢谢你的帮助。如何在滚动时设置UICollectionView图层不移动/静态Swift
let gradinatLayer = CAGradientLayer()
gradinatLayer.frame = self.collectionView.frame //self.currentViewController.view.frame
let cgColors:[CGColorRef] = [UIColor.blackColor().colorWithAlphaComponent(0.7).CGColor, UIColor.clearColor().CGColor, UIColor.blackColor().colorWithAlphaComponent(0.7).CGColor]
gradinatLayer.colors = cgColors
gradinatLayer.startPoint = CGPointMake(0, 0.5)
gradinatLayer.endPoint = CGPointMake(1.0, 0.5)
gradinatLayer.locations = [0.15, 0.50, 0.85]
self.collectionView.layer.insertSublayer(gradinatLayer, atIndex: 0)
//This doesn't work
self.collectionView.layer.shouldRasterize = true
self.collectionView.layer.rasterizationScale = UIScreen.mainScreen().scale
嗨@ JDA3,谢谢你的回答,但是这是行不通的,因为这是一个backgroundView,这意味着它是细胞的背后并不会在单元格顶部可见,因此,我们需要向collectionView添加顶层。 –
如果你想要在单元格上方的渐变,那么你会想要添加一个新的视图到collectionView的.superView,使它透明,并添加渐变。 – JDA3