___ answer37158787 ___
Schnelle Version der akzeptierten Antwort:
%Vor%
___ answer29635485 ___
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%
___ qstntxt ___
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 %code% -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?
___ answer45701811 ___
Swift 3 akzeptierte Antwort:
%Vor%
___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind.
___ tag123uiview ___ UIView ist eine Klasse im UIKit-Framework von iOS definiert einen rechteckigen Bereich auf dem Bildschirm und die Schnittstellen für die Verwaltung des Inhalts in diesem Bereich. Alle UI-Elemente sind entweder Unterklassen von UIView oder sind in einer UIView enthalten.
___ tag123uibierpfad ___ Mit der UIBezierPath-Klasse können Sie einen Pfad definieren, der aus geraden und gekrümmten Liniensegmenten besteht, und diesen Pfad in Ihren benutzerdefinierten Ansichten rendern.
___ tag123uikit ___ UIKit (nicht zu verwechseln mit dem Frontend-Framework UIKit) ist das objektorientierte Framework, das für den Großteil der iOS-Benutzeroberfläche verantwortlich ist.
___ tag123objectivec ___ Dieses Tag sollte nur bei Fragen verwendet werden, die sich auf Objective-C-Funktionen beziehen oder von Code in der Sprache abhängen. Die Tags [Kakao] und [Kakao-Touch] sollten verwendet werden, um nach Frameworks oder Klassen von Apple zu fragen. Verwenden Sie die verwandten Tags [ios], [macos], [apple-watch] und [tvos] für Probleme, die für diese Plattformen spezifisch sind.
___ answer29636214 ___
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%
___ qstnhdr ___ Zeichne UIBezierPaths in UIView ohne Unterklasse?
___