1
我試圖將不透明度添加到我的視圖中。當我添加CAGradientlayer時,我大致得到了我計劃的內容,但有幾個問題。CAGradientLayer Mask在Swift中添加不透明度
- 我無法改變顏色。不管我使用什麼值,我總是會得到一個白色的圖層
- 即使我希望它分佈在整個視圖上,它似乎有一個左邊的偏移量。
我的代碼如下:
let maskLayer = CAGradientLayer()
maskLayer.anchorPoint = CGPoint(x: 0.0, y: 0.0)
maskLayer.startPoint = CGPoint(x: 0.0, y: 0.5)
maskLayer.endPoint = CGPoint(x: 1.0, y: 0.5)
maskLayer.colors = [UIColor(white: 0.0, alpha: 0.0).CGColor, UIColor(white: 1.0, alpha: 1.0).CGColor, UIColor(white: 0.0, alpha: 0.0).CGColor]
maskLayer.locations = [0.0, 0.5, 1.0]
maskLayer.bounds = CGRectMake(0, 0, self.frame.width, self.frame.height)
self.layer.mask = maskLayer
我在做什麼錯?
感謝
感謝您的澄清。當我按照鏈接中的建議應用layoutSubviews時,它會清除左側的偏移量,並將底部的偏移量添加到底部。 – Jan 2014-11-09 12:46:41
你能展示你的layoutSubviews實現嗎? – Clafou 2014-11-09 12:52:49
override func layoutSubviews(){ lineLayer.frame = self.bounds super.layoutSubviews() }其中lineLayer是作爲子視圖添加的calayer – Jan 2014-11-09 12:58:46