[英]Apply fade effect to top and bottom of UICollectionView
我在这里阅读了一些示例,但是我无法按照自己的意愿进行操作,因此我的渐变示例卡在了屏幕的中间,无法按预期工作。
我有一个UICollectionView
用垂直滚动填充整个屏幕。
我希望UICollectionView
的顶部和底部是黑色的,中间是透明的(因为我使用的是blackblackgroundColor)。
我尝试应用渐变,但是以某种方式无法完成我想要的。
这是我的代码:
let gradient = CAGradientLayer()
gradient.frame = view.bounds
gradient.colors = [UIColor.black.cgColor, UIColor.clear.cgColor, UIColor.black.cgColor]
gradient.startPoint = CGPoint(x: 1, y: 0)
gradient.endPoint = CGPoint(x: 1, y: 1)
view.layer.mask = gradient
上面的代码将渐变放置在屏幕中间,但倒置了。 如果淡出全黑,则在屏幕的顶部和底部以及中间部分是透明的。
我正在尝试创建类似这样的东西:
感谢您的帮助
您可以通过更改颜色线来实现这一点:
gradient.colors = [
UIColor(white: 1.0, alpha: 0).cgColor,
UIColor(white: 1.0, alpha: 1).cgColor,
UIColor(white: 1.0, alpha: 0).cgColor
]
或者,如果您想进一步控制渐变,还可以使用下面的代码并尝试使用位置和/或颜色alpha值:
let gradient = CAGradientLayer()
gradient.frame = view.bounds
gradient.colors = [
UIColor(white: 1, alpha: 0).cgColor,
UIColor(white: 1, alpha: 1).cgColor,
UIColor(white: 1, alpha: 1).cgColor,
UIColor(white: 1, alpha: 0).cgColor
]
gradient.locations = [0, 0.4, 0.6, 1]
view.layer.mask = gradient
来自文档的原因;
一个可选的图层,其Alpha通道用于掩盖该图层的内容。
图层的Alpha通道确定显示多少图层内容和背景。 完全或部分不透明的像素允许基础内容通过显示,但完全透明的像素会阻止该内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.