Get Labels Animation Wie Phhibrow App

8

Ich möchte die gleiche Animation erstellen wie in App Phibrow . Bitte sehen Sie das folgende Video für weitere Details: - Ссылка

< a href="https://i.stack.imgur.com/PJsCP.png">

>

Ich habe versucht, diese Animation mit UIPinchGestureRecognizer , UIRotationGestureRecognizer und UIPanGestureRecognizer zu bekommen. Aber noch nicht in der Lage, diese Animation zu bekommen.

%Vor%

Gibt es eine Möglichkeit, diese Animation zu erhalten?

    
Meet Doshi 26.12.2017, 07:38
quelle

3 Antworten

2

Ich denke, dass dieser Code für Sie funktioniert. Ich habe zwei Ansichten FirstView und SecondView deklariert und separate Gesten für beide Ansichten hinzugefügt wie im Falle von panGesture zum Beispiel:

%Vor%

für Pinch und Rotation habe ich die gleiche Methode wie oben verwendet, um eine Geste hinzuzufügen. und für Ihren Fall müssen Sie Pinch und Rotation Gesten außer pan Geste für beide Ansichten gleichzeitig arbeiten, so überprüfen Sie einfach, welche Ansicht und anwenden Transformation für andere Ansicht auch.

%Vor%     
Shezad 15.01.2018 09:38
quelle
1

Das Problem, das ich sehe, ist, dass die Übersetzung wie gesture.translation(in: view) , z. im Koordinatensystem von view . Ist das view in Ihrem Beispiel ein gesture.view.superview ? Sie interessieren sich dafür, wie viel gesture.view in seinem superview -Koordinatensystem verschoben wurde, daher muss diese Bedingung wahr sein: view == gesture.view.superview .

Das zweite Problem ist die Übersetzung von transform - es wird nicht korrekt sein, wenn Rotation und / oder Skalierung keine Identität sind. Um das gesture.view richtig zu verschieben, sollten Sie seine Position center ändern, die unabhängig von der Ansichtsrotation oder Skalierung korrekt bleibt:

%Vor%     
DisableR 01.01.2018 07:57
quelle
1

Vielleicht Problem in der Reihenfolge. Sie wenden die Übersetzung an, nachdem Sie die Drehung angewendet haben. Bei der Transformation rotiert. Dies bedeutet, dass Ihr Zielobjekt gedreht und dann entsprechend der Ration übersetzt wird. Wenn Sie also das Objekt auf Float.Pi drehen und versuchen, das Objekt zu bewegen, wird es sich in die entgegengesetzte Richtung bewegen. Stattdessen mussten Sie zuerst das Objekt verschieben und dann die existierende Transformation anwenden.

%Vor%     
MichaelV 04.01.2018 10:36
quelle

Tags und Links