Wie autoresize sublayer
Ich habe eine Bildansicht und auf den button klicken, ziehe ich einige bezier-Pfade und text-Ebene zu. Auf "rückgängig", habe ich entfernt letzten gezeichneten Pfad-und text-Ebene.
Nun möchte ich die Größe meines Bildes Anzeigen zu uper halbe portion of view und dupliziert in der unteren Hälfte anzeigen und ändern möchten allen Ebenen zur gleichen Zeit, und wollen auch weiter zeichnen nach, dass.
- Duplizieren Sie Ihre Ansicht ich.e andere Instanz seiner Klasse mit gleichen Parametern.gelten cgaffinetranslation 1/2 auf xscale. auf beiden Exemplaren Platz eins unter anderen sehen, ob es funktioniert
- Ich denke, dass Sie nicht aktualisieren Sie Ihre Bézier-Pfad, während die Größe des Bildes anzuzeigen. Sie können einen Weg finden, für die Aktualisierung von Bézier-Pfad hier stackoverflow.com/questions/13524022/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seine zu spät, zu beantworten...
Aber kann sein, dass das anderen helfen kann. Es gibt keine autoresize Masken für CALayers
Sie verwalten können, die mit einigen tricks..
Diese arbeiten, wenn Sie erstellt eine Unterklasse von UIView. Wenn nicht, können Sie einfach legen Sie die Grenzen für die Rahmen von CALayer überall, wenn Sie Bezug zu Ihrer Schicht.
Zumindest gibt es 3 Möglichkeiten:
CALayer
layoutSublayers
, und nennen es durchsetNeedsLayout()
fitLayers
Beispiel option 3:
Swift 5, 4
- Code
Beispiel