【问题标题】:iOS Square Radial Gradient [closed]iOS方形径向渐变[关闭]
【发布时间】:2018-02-08 10:41:25
【问题描述】:

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


(来源:graphicxtras.com

【问题讨论】:

  • 不能只使用阴影来完成该图像吗?
  • 发布你的代码?
  • 点击此链接,可能会对您有所帮助:stackoverflow.com/questions/31853859/…
  • 是的,这张图片使它看起来像一个阴影,但我想控制颜色的数量和间距,我不相信你可以在阴影中做到这一点
  • 在 Stack Overflow 上,您应该尝试自己编写代码。在 doing more research 之后,如果您遇到问题,您可以发布您尝试过的内容,并清楚地解释什么不起作用并提供问题本身内的 Minimal, Complete, and Verifiable example

标签: ios swift gradient


【解决方案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])
}

或者简单地查看这个库来绘制任何你想要的开箱即用的渐变 - https://github.com/maxkonovalov/MKGradientView

【讨论】:

  • 不幸的是,这是圆形的,似乎没有办法使它成为方形
  • @SomaMan,是的,代码会产生径向渐变,看起来您所追求的是完全不同的渐变。您可以尝试查看我提供的库的来源 - 通过利用从那里生成渐变的方法应该很可能达到预期的效果。
【解决方案2】:

我可以建议你两种方法。

第一:

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

第二: 您可以使用https://www.paintcodeapp.com/,这对您的应用程序来说也更轻巧

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    相关资源
    最近更新 更多