0
0
iOS Swiftmobile~20 mins

Transition effects in iOS Swift - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Transition Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
ui_behavior
intermediate
2:00remaining
What is the visible effect of this transition code?
Consider this Swift code snippet for a view controller transition. What visual effect will the user see when this transition runs?
iOS Swift
let transition = CATransition()
transition.duration = 0.5
transition.type = CATransitionType.push
transition.subtype = CATransitionSubtype.fromRight
view.window?.layer.add(transition, forKey: nil)
navigationController?.popViewController(animated: false)
AThe new screen slides in from the right side over the current screen.
BThe new screen fades in over the current screen.
CThe new screen slides in from the left side over the current screen.
DThe new screen zooms in from the center.
Attempts:
2 left
💡 Hint
Look at the transition type and subtype properties to understand the direction and style.
lifecycle
intermediate
2:00remaining
When does the transition animation start in this code?
Given this code snippet inside a UIViewController, at what point does the transition animation begin?
iOS Swift
override func viewWillDisappear(_ animated: Bool) {
  super.viewWillDisappear(animated)
  let transition = CATransition()
  transition.duration = 0.3
  transition.type = CATransitionType.fade
  view.window?.layer.add(transition, forKey: nil)
}
ARight after the view has disappeared from the screen.
BRight before the view disappears from the screen.
CWhen the view appears on the screen.
DWhen the view is loaded into memory.
Attempts:
2 left
💡 Hint
Check which lifecycle method is overridden and when it is called.
📝 Syntax
advanced
2:00remaining
What error does this transition code produce?
Analyze this Swift code snippet for a transition. What error will it cause when compiled?
iOS Swift
let transition = CATransition()
transition.duration = 0.4
transition.type = "slide"
view.window?.layer.add(transition, forKey: nil)
ASyntax error: Missing parentheses in method call.
BRuntime error: Unknown transition type causes crash.
CNo error, code runs and shows slide transition.
DType error: Cannot assign String to CATransitionType.
Attempts:
2 left
💡 Hint
Check the type of the 'type' property and what values it accepts.
navigation
advanced
2:00remaining
Which option correctly adds a custom transition when pushing a new view controller?
You want to push a new view controller with a fade transition. Which code snippet correctly achieves this?
A
let transition = CATransition()
transition.duration = 0.5
transition.type = CATransitionType.fade
view.layer.add(transition, forKey: nil)
navigationController?.pushViewController(newVC, animated: false)
B
let transition = CATransition()
transition.duration = 0.5
transition.type = CATransitionType.fade
navigationController?.pushViewController(newVC, animated: true)
navigationController?.view.layer.add(transition, forKey: nil)
C
let transition = CATransition()
transition.duration = 0.5
transition.type = CATransitionType.fade
navigationController?.view.layer.add(transition, forKey: nil)
navigationController?.pushViewController(newVC, animated: false)
D
let transition = CATransition()
transition.duration = 0.5
transition.type = CATransitionType.fade
newVC.view.layer.add(transition, forKey: nil)
navigationController?.pushViewController(newVC, animated: false)
Attempts:
2 left
💡 Hint
The transition must be added to the navigation controller's view layer before pushing without animation.
🧠 Conceptual
expert
2:00remaining
Why might a custom CATransition not appear when pushing a view controller?
You added a CATransition to the window's layer before pushing a view controller, but the animation does not show. What is the most likely reason?
AThe pushViewController call uses animated: true, which overrides the custom transition.
BThe window's layer cannot display animations.
CThe CATransition type is not set, so no animation occurs.
DThe new view controller's view is nil at the time of transition.
Attempts:
2 left
💡 Hint
Check the animated parameter in the navigation call.