An object that provides an animated transition between a layer's states.
SDKs
- iOS 2.0+
- macOS 10.5+
- Mac Catalyst 13.0+
- tvOS 9.0+
Framework
- Core Animation
Declaration
class CATransition : CAAnimation
Overview
You can transition between a layer's states by creating and adding a CATransition
object to it. The default transition is a cross fade, but you can specify different effects from a set of predefined transitions.
Listing 1 shows how you can transition between the two states of a CAText
named transitioning
. When the layer is first created, its background
is set to red and its string
property is set to Red
. When the run
function is called, a new CATransition
object is created and added to transitioning
, and the state of the layer is changed so that its background color is blue and its rendered text reads Blue
.
The end result is that the push transition animates the red state from left to right with the blue state entering the scene from the left.
Transitioning between a layer's states
let transitioningLayer = CATextLayer()
override func viewDidLoad() {
super.viewDidLoad()
transitioningLayer.frame = CGRect(x: 10, y: 10,
width: 320, height: 160)
view.layer.addSublayer(transitioningLayer)
// Initial "red" state
transitioningLayer.backgroundColor = UIColor.red.cgColor
transitioningLayer.string = "Red"
}
func runTransition() {
let transition = CATransition()
transition.duration = 2
transition.type = kCATransitionPush
transitioningLayer.add(transition,
forKey: "transition")
// Transition to "blue" state
transitioningLayer.backgroundColor = UIColor.blue.cgColor
transitioningLayer.string = "Blue"
}