Iva*_*ino 1 calayer ios uicollectionview swift
我已经阅读了这里的示例,但我无法按照我想要的方式进行操作,不知何故,我的渐变示例卡在屏幕中间,无法按预期工作。
我有一个UICollectionView用垂直滚动填充整个屏幕的。
我希望顶部和底部UICollectionView为黑色,中间为透明(因为我使用的是黑色 blackgroundColor)。
我尝试应用渐变,但不知何故我无法实现我想要的。
这是我的代码:
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
Run Code Online (Sandbox Code Playgroud)
上面的代码将渐变放置在屏幕中间,但相反。如果淡入全黑,则屏幕顶部和底部以及中间部分是透明的。
我正在尝试创建这样的东西:
感谢您的帮助
您可以通过更改颜色线来实现这一点:
\ngradient.colors = [\n UIColor(white: 1.0, alpha: 0).cgColor,\n UIColor(white: 1.0, alpha: 1).cgColor,\n UIColor(white: 1.0, alpha: 0).cgColor\n]\nRun Code Online (Sandbox Code Playgroud)\n或者,如果您想更好地控制渐变,您也可以使用下面的代码并调整位置和/或颜色 alpha 值:
\nlet gradient = CAGradientLayer()\ngradient.frame = view.bounds\ngradient.colors = [\n UIColor(white: 1, alpha: 0).cgColor,\n UIColor(white: 1, alpha: 1).cgColor,\n UIColor(white: 1, alpha: 1).cgColor,\n UIColor(white: 1, alpha: 0).cgColor\n]\ngradient.locations = [0, 0.4, 0.6, 1]\nview.layer.mask = gradient\nRun Code Online (Sandbox Code Playgroud)\n文档中的原因;
\n\n\n一个可选图层,其 alpha 通道用于遮盖图层\xe2\x80\x99s 内容。
\n图层\xe2\x80\x99s Alpha 通道决定了图层\xe2\x80\x99s 内容和背景的显示程度。完全或部分不透明的像素允许底层内容显示出来,但完全透明的像素会阻挡该内容。
\n
| 归档时间: |
|
| 查看次数: |
3737 次 |
| 最近记录: |