Zeigt UIBezierPath in Sicht

8

In einer meiner Methoden habe ich diesen Code:

%Vor%

Wie bekomme ich es in der Ansicht zu zeigen?

Ich habe addSubview versucht, aber es hat mir incompatible type error gegeben, weil es eine UIView erwartet.

Ich bin sicher, dass das einfach sein muss.

Danke

    
joec 28.07.2010, 11:13
quelle

5 Antworten

18

Sie können es mit den Methoden fill oder stroke beispielsweise in der drawInRect: -Implementierung der benutzerdefinierten Ansicht zeichnen:

%Vor%     
Vladimir 28.07.2010, 11:24
quelle
27
___ qstnhdr ___ Zeigt UIBezierPath in Sicht ___ qstntxt ___

In einer meiner Methoden habe ich diesen Code:

%Vor%

Wie bekomme ich es in der Ansicht zu zeigen?

Ich habe addSubview versucht, aber es hat mir UIGraphicsBeginImageContext(size) gegeben, weil es eine UIView erwartet.

Ich bin sicher, dass das einfach sein muss.

Danke

    
___ answer23963030 ___

Sie können UIBezierPath auch UIView ohne Unterklasse hinzufügen, indem Sie einen CAShapeLayer verwenden.

Zum Beispiel, um Ihren Pfad als 3pt weiße Linie in einer UIView zentriert hinzuzufügen:

%Vor%     
___ answer3352322 ___

Sie können es mit den Methoden UIGraphicsBeginImageContextWithOptions(size, FALSE, 1.f) oder [[UIScreen mainScreen]scale] beispielsweise in der %code% -Implementierung der benutzerdefinierten Ansicht zeichnen:

%Vor%     
___ antwort10504806 ___

Nur gedacht, ich würde hinzufügen, dass Sie dies nicht unbedingt in der "drawRect:" - Methode einer UIView zeichnen müssen. Sie können es überall zeichnen, wenn Sie es in einem UIGraphics-Bildkontext tun. Ich mache das die ganze Zeit, wenn ich keine Unterklasse von UIView erstellen möchte. Hier ist ein funktionierendes Beispiel:

%Vor%

Fügen Sie jetzt einfach das UIImageView als Unteransicht hinzu.

Sie können dies auch für andere Zeichnungen verwenden. Nach ein wenig Setup funktioniert es wieder wie die drawRect: -Methode.

%Vor%

Bearbeiten: Eine Sache, die ich hinzufügen sollte, ist, dass Sie für jede moderne Zeichnung dieser Art tauschen sollten

%Vor%

für

%Vor%

Damit werden Ihre Grafiken für Netzhaut- und Nicht-Retina-Displays korrekt dargestellt.

FYI, %code% ist gleichbedeutend mit %code% , was für keine Retina-Displays gut ist, die eine gewisse Transparenz aufweisen.

Wenn Sie jedoch keine Transparenz benötigen, ist es optimiert, TRUE für das Opak-Argument zu übergeben.

Die sicherste und empfohlene Art des Zeichnens ist die Übergabe von %code% als Skalierungsargument.

Für die obigen Beispiele würden Sie stattdessen Folgendes verwenden:

%Vor%

Weitere Informationen finden Sie unter Apples Dokumente .

    
___ answer3352427 ___

Zeichnen ist die ausschließliche Bereitstellung von Ansichten. Erstellen Sie eine benutzerdefinierte Ansicht, geben Sie Ihren Pfad an, und implementieren Sie die %code% -Methode der Ansicht, um den Pfad zu füllen und / oder zu streichen.

    
___ tag123cocoatouch ___ Die Cocoa Touch-Frameworks, die iOS-Apps steuern, teilen viele bewährte Muster, die auf dem Mac gefunden wurden, wurden jedoch mit besonderem Fokus auf Touch-basierte Oberflächen und Optimierung erstellt. ___ answer38724208 ___

In Swift 2.0:

%Vor%     
___ 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. ___ 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. ___
daveMac 08.05.2012 19:02
quelle
10

Sie können UIBezierPath auch UIView ohne Unterklasse hinzufügen, indem Sie einen CAShapeLayer verwenden.

Zum Beispiel, um Ihren Pfad als 3pt weiße Linie in einer UIView zentriert hinzuzufügen:

%Vor%     
Ed Filowat 30.05.2014 20:36
quelle
2

Zeichnen ist die ausschließliche Bereitstellung von Ansichten. Erstellen Sie eine benutzerdefinierte Ansicht, geben Sie Ihren Pfad an, und implementieren Sie die drawRect: -Methode der Ansicht, um den Pfad zu füllen und / oder zu streichen.

    
Peter Hosey 28.07.2010 11:38
quelle
1

In Swift 2.0:

%Vor%     
Learn Swift 02.08.2016 15:09
quelle

Tags und Links