我正在尝试为我的视图添加不透明度。当我添加一个CAGradientlayer时,我大致得到了我计划的内容,但是有一些问题。
我的代码如下:
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
我做错了什么?
由于
答案 0 :(得分:0)
关于白色,这是因为图层蒙版对颜色没有贡献,只有透明度。基本上,只有alpha组件有效,而图层蒙版的R,G,B组件会被忽略。
关于偏移量,可能是因为您的视图调整了大小,并且您的图层不是最新的?如果是这样,您可以看到另一个问题的答案:CALayers didn't get resized on its UIView's bounds change. Why?