首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSGradient drawInBezierPath iOS等效项

NSGradient drawInBezierPath iOS等效项
EN

Stack Overflow用户
提问于 2013-05-22 00:13:46
回答 1查看 527关注 0票数 2

是否有等同于- (void)drawInBezierPath:(NSBezierPath *)path angle:(CGFloat)angle的iOS

我需要在UIBezierPath中绘制渐变,但无法使其工作。渐变在整个屏幕上绘制。

EN

回答 1

Stack Overflow用户

发布于 2017-07-09 22:39:13

此示例在Swift 3中的UIBezierPath中创建了一个渐变。它绘制了一条带有绿色/白色渐变的斜线。

代码语言:javascript
复制
import UIKit

class DrawingView: UIView {

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.isOpaque = false
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }


    override func draw(_ rect: CGRect) {
        let startPoint = CGPoint(x:100, y:100)
        let endPoint = CGPoint(x: 300, y:400)

        let context = UIGraphicsGetCurrentContext()!
        context.setStrokeColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0);
        // create a line
        context.move(to: startPoint)
        context.addLine(to: endPoint)
        context.setLineWidth(4)
        // use the line created above as a clipping mask
        context.replacePathWithStrokedPath()
        context.clip()

        // create a gradient
        let locations: [CGFloat] = [ 0.0, 0.5 ]

        let colors = [UIColor.green.cgColor,
                      UIColor.white.cgColor]

        let colorspace = CGColorSpaceCreateDeviceRGB()

        let gradient = CGGradient(colorsSpace: colorspace,
                                  colors: colors as CFArray, locations: locations)

        let gradientStartPoint = CGPoint(x: rect.midX, y: rect.minY)
        let gradientEndPoint = CGPoint(x: rect.midX, y: rect.maxY)

        context.drawLinearGradient(gradient!,
                                    start: gradientStartPoint, end: gradientEndPoint,
                                    options: .drawsBeforeStartLocation)
        UIGraphicsEndImageContext()
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16674691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档