2017-06-10 4 views
1

J'utilise cgmutablepath pour dessiner un polygone où je voudrais la couleur de remplissage du polygone, mais il ne fonctionne pas et je ne sais pas pourquoi ...Comment définir la couleur de la forme dans cgmutablepath?

Ci-dessous mon code:

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

J'ai éditer mon code de question et il ne fonctionne pas ce que la forme avec la couleur bleue ne montre pas –

+0

Ajoutez-vous le calque comme sous-couche quelque part? Non lié, mais n'obtiens-tu pas d'avertissements à propos de * Variable ... n'a jamais été muté *? – vadian

+0

nous avons eu les avertissements sur le chemin var n'a jamais été muté et nous n'ajoutons pas la couche comme sous-couche quelque part ... –

Répondre

1

Essayez de remplacer votre code par ce code mis à jour:

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) 

Veuillez l'essayer et commenter en cas d'erreur. Codage heureux.