2017-06-10 58 views
1

我使用cgmutablepath绘制多边形,其中我想填充颜色为多边形,但它不工作,我不知道为什么......如何在cgmutablepath中设置形状的颜色?

下面是我的代码:

var path = CGMutablePath() 
     path.move(to: CGPoint(x: 127.5, y: 12.5)) 
     path.addLine(to: CGPoint(x: 165.0, y: 13.0)) 
     path.addLine(to: CGPoint(x: 165.0, y: 50.5)) 
     path.addLine(to: CGPoint(x: 127.5, y: 50.5)) 
     path.closeSubpath() 

     var shape = CAShapeLayer() 
     shape.path = path 
     shape.lineWidth = 3.0 
     shape.strokeColor = UIColor.blue.cgColor 
     shape.fillColor = UIColor.blue.cgColor 
+0

我已编辑我的问题代码,它不工作,其中蓝色的形状没有显示 –

+0

你是否将图层添加为某个子图层?不相关,但是你没有得到关于* Variable的警告......从未发生过变异*? – vadian

+0

我们得到了关于var路径从未发生变化的警告,并且我们没有将该图层添加为某个子图层... –

回答

1

尝试使用此更新的代码替换代码:

var path = CGMutablePath() 
    path.move(to: CGPoint(x: 127.5, y: 12.5)) 
    path.addLine(to: CGPoint(x: 165.0, y: 13.0)) 
    path.addLine(to: CGPoint(x: 165.0, y: 50.5)) 
    path.addLine(to: CGPoint(x: 127.5, y: 50.5)) 
    path.closeSubpath() 

    var shape = CAShapeLayer() 
    shape.path = path 
    shape.lineWidth = 3.0 
    shape.strokeColor = UIColor.blue.cgColor 
    shape.fillColor = UIColor.blue.cgColor 
    self.layer.addSublayer(shapeLayer) 

请尝试一下,在任何错误的情况下发表评论。快乐编码。

相关问题