Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 平方径向梯度_Ios_Swift_Gradient - Fatal编程技术网

Ios 平方径向梯度

Ios 平方径向梯度,ios,swift,gradient,Ios,Swift,Gradient,如何在正方形中创建径向渐变 (来源:)您可以直接在UIView子类中绘制径向渐变,如下所示: override func draw(_ rect: CGRect) { let context = UIGraphicsGetCurrentContext()! let colorSpace = CGColorSpaceCreateDeviceRGB() let colors = [UIColor.red.cgColor, UIColor.green.cgColor] as

如何在正方形中创建径向渐变



(来源:)

您可以直接在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])
}


或者只需查看此库,即可直接绘制任何渐变-

我可以向您推荐两种方法

第一:

您可以创建两个UIView,一个在另一个内部,并对内部UIView进行约束,使其位于中心且比另一个小。然后,将背景色添加到内部UIView黄色,对于其他UIView,可以使用此库并使用黄色和背面创建UIGradientStyleRadial颜色

第二:
你可以使用对你的应用程序来说更亮的图片

难道那张图片不能用阴影来完成吗?发布你的代码?点击这个链接,可能会对你有所帮助:是的,这张图片让它看起来像阴影,但我想控制颜色的数量和间距,我不相信你能在阴影堆栈溢出中做到这一点,您应该尝试自己编写代码。如果你有问题,你可以发布你尝试过的内容,清楚地解释什么不起作用,并在问题本身中提供一个答案。不幸的是,这是循环的,似乎没有任何办法square@SomaMan,是的,代码生成径向梯度,看起来你想要的是一种完全不同的梯度。您可以尝试查看我提供的lib的来源-通过使用从那里生成渐变的方法,应该很有可能达到所需的效果。