Transforming shapes
In the Creating basic animations recipe, you can see that SwiftUI is able to animate the change of common characteristics, such as position, color, size, and so on. But what if the feature we want to animate is not part of the framework?
In this recipe, we'll create a triangular shape whose height is equal to the width times a fraction of the width. When we tap on the triangle, we set that multiplier to a random number, making the height change.
How can we instruct SwiftUI to animate the change of the multiplier? We'll see that the code needed is simple but that the underlying engine is quite sophisticated.
Getting ready
This recipe doesn't need any external resources, so let's just create a SwiftUI project called AnimateTriangleShape
in Xcode.
How to do it…
We are going to implement a triangle shape where the height is equal to a fraction of the width. Then, when tapping on the shape, the multiplier will randomly change...