Mar*_*iam 2 objective-c uiview cagradientlayer
我使用以下代码来设置渐变颜色:
NSArray *locations = @[@0.0, @0.1f];
CAGradientLayer *headerLayer = [CAGradientLayer layer];
headerLayer.colors = colors;
headerLayer.locations = locations;
Run Code Online (Sandbox Code Playgroud)
如何制作径向渐变颜色?
我想我必须改变位置,但我没有猜到正确的位置。另外,我试过这个:
headerLayer.anchorPoint = CGPointMake(0.5, 1.0);
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
谢谢。
Sté*_*uca 12
到 2019 年,接受的答案是错误的,您可以通过将其 type 属性设置为 .radial 来制作径向渐变。重要的是 startPoint 是椭圆或圆的中心坐标,endPoint 是外环或圆的尺寸。所有坐标都必须以单位表示(也就是 1.0 是 100%)。
以下 Swift 示例将绘制一个位于框架中心的椭圆,并设置半径以匹配框架:
let g = CAGradientLayer()
// We want a radial gradient
g.type = .radial
g.colors = [UIColor.clear.cgColor, UIColor.black.cgColor]
let center = CGPoint(x: 0.5, y: 0.5)
g.startPoint = center
let radius = 1.5
g.endPoint = CGPoint(x: radius, y: radius)
Run Code Online (Sandbox Code Playgroud)
例如,上面的示例可用于向视图添加小插图(参见图像)。
请注意,半径可以大于框架,并且中心也可以通过指定大于 1 或小于 -1 的坐标来放置在框架之外。
| 归档时间: |
|
| 查看次数: |
4883 次 |
| 最近记录: |