iOS Square Radial Gradient

时间:2018-02-08 10:41:26

标签: ios swift gradient

如何创建方形的径向渐变?

Example square gradient

2 个答案:

答案 0 :(得分:1)

您可以直接在UIView子类中绘制径向渐变,如下所示:

override func draw(_ rect: CGRect) {
    let context = UIGraphicsGetCurrentContext()!
    let colorSpace = CGColorSpaceCreateDeviceRGB()
    let colors = [UIColor.red.cgColor, UIColor.green.cgColor] as NSArray
    let gradient = CGGradient(colorsSpace: colorSpace, colors: colors, locations: nil)!
    let center = CGPoint(x: bounds.midX, y: bounds.midY)
    context.drawRadialGradient(gradient, startCenter: center, startRadius: 0, endCenter: center, endRadius: bounds.width/2, options: [.drawsAfterEndLocation])
}

或者只是看看这个lib,就可以开箱即用 - https://github.com/maxkonovalov/MKGradientView

答案 1 :(得分:0)

我可以建议你两种方式。

首先:

你可以在另一个内部制作2个UIViews,并对内部UIView进行约束,使其位于中心,小于另一个。然后你将内部颜色添加到内部UIView黄色中,对于另一个UIView,你可以使用这个库https://github.com/ViccAlexander/Chameleon并使用黄色和背面制作一个UIGradientStyleRadial颜色。

第二:  您可以使用https://www.paintcodeapp.com/,它对您的应用来说也更轻便