我需要从透明到黑色从上到下放置渐变色,不透明度为30%.我发现最好的方法是使用CAGradientLayer.我想在"根"层之上添加该层,以避免为此创建单独的视图.对于我来说,拥有多个层而不是多个UIViews更有意义.到目前为止,这是我写的没有运气.
// view did load
var gradientLayer : CAGradientLayer = CAGradientLayer();
gradientLayer.frame = coverView.bounds;
gradientLayer.colors = [UIColor.redColor(), UIColor.blueColor()];
coverView.layer.insertSublayer(gradientLayer, above: coverView.layer);
// also tried below
// coverView.layer.insertSublayer(gradientLayer, atIndex: 0);
Run Code Online (Sandbox Code Playgroud)
我希望这在图像上显示渐变色.下面的代码根本没有显示任何内容.你有什么建议我试试的?
我自己解决了这个问题.出现问题的原因是:
gradientLayer.frame = coverView.bounds;
Run Code Online (Sandbox Code Playgroud)
该coverView.bounds给出一个完全不同的输出.使用coverView.layer.frame确实使图层成为父图层的大小.
CAGradientLayer颜色属性也不喜欢UIColor; 使用CGColor解决了这个问题.我使用了带有atIndex属性的函数.这是最终的代码:
var gradientLayer : CAGradientLayer = CAGradientLayer();
gradientLayer.frame = coverView.layer.frame;
gradientLayer.colors = [UIColor.clearColor().CGColor!, UIColor.blackColor().CGColor!];
gradientLayer.startPoint = CGPointMake(0.5, 0.0);
gradientLayer.endPoint = CGPointMake(0.5, 1.0)
gradientLayer.opacity = 0.8;
coverView.layer.insertSublayer(gradientLayer, atIndex: 0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2500 次 |
| 最近记录: |