Positionieren / Ändern der Größe von UIBezierPath

8

Ich habe eine ziehbare Ansicht mit einer Maskenebene. Die Maskenebene hat einen UIBezierPath, der einen Bereich in der Ansicht transparent macht (der Effekt, den ich möchte). Mein Endziel ist es, die Position und Größe des Pfades (nicht die Maskenebene!) Zu ändern, indem ein CGRect übergeben wird, das auf der Schnittmenge meiner Ansicht mit einem anderen Rechteck berechnet wird (Grundsätzlich möchte ich den Schnittbereich ausblenden) / p>

1) Wie erstelle ich meine Maske und meinen Pfad (erzeugt ein durchsichtiges Rechteck in meiner Ansicht):

%Vor%

2) Mein Problem ist, dass ich keinen Weg finden konnte, nur den Pfad zu verändern. Ich habe online gesucht, konnte aber keine Lösung finden.

Dieser Code funktioniert nicht, aber ich könnte mir folgendes vorstellen:

%Vor%

Wie kann ich nur den Pfad der Maskenebene in meiner Bewegungsfunktion manipulieren? Danke!

    
Soc 05.12.2013, 12:44
quelle

5 Antworten

2

Sie müssen den aktualisierten Pfad in Ihrer Verschiebungsmethode self.maskLayer.path zuweisen.

    
yurish 05.12.2013, 15:14
quelle
16
%Vor%     
hfossli 05.12.2013 15:59
quelle
8

Schnelle Version

Hier ist @ hfosslis Code für Swift:

%Vor%

Aktualisieren

Ich habe in der Praxis festgestellt, dass ich beim Erstellen von UIBezierPath einfach nur andere Anfangswerte habe, als später zu transformieren. Ich schätze, das hängt vom Zweck ab.

    
Suragch 07.01.2016 16:08
quelle
1

Es ist in swift 3

%Vor%     
Roman Filippov 23.04.2017 05:11
quelle
0

Swift 3 Erweiterung (ändern Sie es mit Faktor X, Faktor Y, falls erforderlich):

%Vor%     
sabiland 03.09.2017 06:20
quelle

Tags und Links