2016-06-23 19 views
-3

Hallo Ich mache die Legende für die verschiedenen Polygonfarben in einer Karte, und ich möchte ein kleines Quadrat mit der UIColor für das bestimmte Element zeigen. Ich dachte daran, ein UIImage zu verwenden und die Hintergrundfarbe auf diese Farbe einzustellen, aber ich kann es nicht herausfinden. Was ist der beste Weg, um dieses Problem zu lösen?Zeigen Sie ein Quadrat mit gewünschten UIColor

Dank

+1

UIView ein 2D-Objekt. Sie können es quadratisch machen und ihm eine Hintergrundfarbe geben. –

+0

danke das hat funktioniert – pudm

Antwort

2

Wenn Sie Benutzer-Interaktion mit diesem Platz benötigen als UIView verwenden, in anderen Fällen Sie CAShapeLayer verwenden müssen. Es wird keinen visuellen Unterschied geben, aber die Verwendung von Ebenen wird bevorzugt, wenn Sie nur etwas ohne Interaktion zeigen.

Verwendung [UIBezierPath bezierPathWithRect:(CGRect)rect] und als mit diesem Pfad ist

CAShapeLayer *shapeLayer = [CAShapeLayer layer]; 

shapeLayer.path = [path CGPath]; 
shapeLayer.fillColor = [[UIColor clearColor] CGColor]; 

Add that CAShapeLayer to your view's layer: 
[self.view.layer addSublayer:shapeLayer];