UIGravityBehavior
An object that applies a gravity-like force to all of its associated dynamic items.
Declaration
@MainActor class UIGravityBehaviorOverview
The magnitude and direction of the gravity force are configurable and are applied equally to all associated items. Use this behavior to modify the position of views and other dynamic items in your app’s interface.
You specify the magnitude and direction of the gravity force as a two-dimensional vector in the reference view’s coordinate system. A value of 1.0 imparts the standard UIKit gravity, which corresponds to an acceleration of 1000 points / second² in the direction of the given axis. The default vector in the gravityDirection property is (0.0, 1.0), which causes items to accelerate downward along the positive y axis. If you prefer to set the vector angle and magnitude separately, you can do so using the corresponding properties.
If you want to influence a gravity behavior at each step of a dynamic animation, assign an appropriate block to the inherited action property. Use your block to make any needed changes to the dynamic items associated with the gravity behavior.
Applying a Gravity Behavior to an Item
To apply a gravity behavior to one or more dynamic items, do the following:
Initialize the behavior using the init(items:) method, passing in the items you want associated with the behavior. Use the addItem(_:) method to add items after initialization. For more information about dynamic items, see UIDynamicItem.
Enable the gravity behavior by adding it to your UIDynamicAnimator object using the addBehavior(_:) method. (Do not add more than one gravity behavior to an animator.)
The gravity behavior derives its coordinate system from the reference view of its associated dynamic animator object. For more information about the dynamic animator and the reference coordinate system, see UIDynamicAnimator.