使用UIBezierPath()和CAShapeLayer()在Swift中绘制3D圆锥形状

时间:2017-07-13 13:58:29

标签: ios swift optimization drawing uibezierpath

背景

我正在尝试绘制3D圆锥形状,如下图所示。

我使用一种方法绘制一个简单的三角形,然后使用UIBezierPath()CAShapeLayer()在Swift中用纯色填充它。

问题

在Swift代码中,如何绘制3D圆锥形状或填充三角形 形状我用复杂的渐变绘制,给出三角形的形状 一个3D效果,有效地锥形外观?

代码

import UIKit
class ViewController: UIViewController {
    @IBOutlet weak var myView: UIView!

    override func viewDidLoad() {
        let path = UIBezierPath()

        path.moveToPoint(CGPoint(x: 0, y: 100))
        path.addLineToPoint(CGPoint(x: 200, y: 100))
        path.addLineToPoint(CGPoint(x: 100, y: 0))
        path.closePath()

        let shape = CAShapeLayer()
        shape.path = path.CGPath
        shape.fillColor = UIColor.grayColor().CGColor

        myView.layer.insertSublayer(shape, atIndex: 0)
    }
}

图片

enter image description here

0 个答案:

没有答案