/ / UIButtons Animation - Animation, Uibutton, Core-Grafik, Layer

UIButtons Animation - Animation, Uibutton, Core-Grafik, Layer

Ich habe zwei UIButtons, der Benutzer kann einen von ihnen auswählen, wenn einer gewählt wird, wird der andere abgewählt. Ich möchte diese Veränderung so animieren:

Bildbeschreibung hier eingeben

Ich weiß, dass ich Core Graphics verwenden muss, aber wie kann ich das erreichen?

Danke für Ihre Hilfe

Antworten:

0 für die Antwort № 1

Sie möchten die lineare Interpolation in der Schwebekreisgrafik verwenden. Die Art, wie es funktioniert, ist etwas in dieser Richtung:

Final Position = [(Destination Position) * Time/TotalTimeForMovement] + [(Origin Position) * (1-Time/TotalTimeForMovement)]

Nehmen wir an, Sie möchten den weißen Schwebeflug bewegenGrafik von Layer1 zu Layer2 in 0,2 Sekunden, wenn der Benutzer seine Maus von Layer1 zu Layer2 verschiebt. In diesem Fall möchten Sie die Grafikposition für jeden Frame aktualisieren, wobei

Endposition = [(Layer2-Position) * CurrentTimePassed / 0.2] + [(Layer1-Position) * 1- (CurrentTimePassed / 0.2)]

Also um dieses Beispiel fortzusetzen: Nehmen wir an, dass die Position von Layer1 (0, 0) und die Position von Layer2 (10, 0) ist, dann 0,1 Sekunden in die Bewegung (vorausgesetzt, dass sie sich in 0,2 Sekunden komplett bewegt), die Position der Grafik sollte sein:

= (0, 10) * 0.1/0.2 + (0, 0) * 1-(0.1/0.2)
= (0, 10) * 0.5 + (0, 0) * 1-0.5
= (0, 10) * 0.5 + (0, 0) * 0.5
= (0, 5) + (0, 0)
= (0, 5)

Das ist halbwegs zwischen Layer1 und Layer2. Ich hoffe, das hilft.