[英]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.