Zeichne UIBezierPaths in UIView ohne Unterklasse?

7

Ich bin ganz neu bei der Verwendung von UIBezierPfads zum Zeichnen von Formen. Alle Beispiele, die ich bisher gefunden habe, beinhalten zuerst das Unterklassifizieren einer Ansicht, dann das Überschreiben der drawRect: -Methode und das Ausführen der Zeichnung darin, aber ich konnte nichts finden, was mit absoluter Sicherheit sagt, ob dies der einzige Weg ist UIBezierPaths innerhalb einer UIView zu zeichnen, oder wenn dies nur der pragmatischste Weg ist.

Gibt es (neben dem Swizzling) noch eine andere Möglichkeit, einen UIBezierPath in einer UIView zu zeichnen, ohne ihn zu unterklassifizieren?

    
n00neimp0rtant 14.04.2015, 18:30
quelle

4 Antworten

15

Eine andere Möglichkeit, Bezier-Pfade ohne drawRect zu zeichnen, ist die Verwendung von CAShapeLayers. Legen Sie die Pfadeigenschaft einer Formebene auf einen CGPath fest, der aus dem Bezierpfad erstellt wurde. Fügen Sie dem Layer Ihrer Ansicht die Formebene als Unterebene hinzu.

%Vor%     
rdelmar 14.04.2015, 19:52
quelle
5

Schnelle Version der akzeptierten Antwort:

%Vor%     
Chris C 11.05.2016 09:44
quelle
0

Sie könnten: 1) UIBezierPfads in den Bildkontext rendern. 2) Fügen Sie UIImageView als Unteransicht Ihrer Ansicht hinzu und legen Sie die image -Eigenschaft mit dem gerenderten Bild fest. Etwas wie das:

%Vor%     
ninjaproger 14.04.2015 19:08
quelle
0

Swift 3 akzeptierte Antwort:

%Vor%     
stonybrooklyn 15.08.2017 21:26
quelle