Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Custom Animations and Transitions on iOS
Search
seyfeddin
December 13, 2014
Programming
240
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Custom Animations and Transitions on iOS
The talk I gave at NSIstanbul's December Meetup
seyfeddin
December 13, 2014
More Decks by seyfeddin
See All by seyfeddin
Modernizing iOS Apps
seyfoyun
0
69
14 Years of iOS: Lessons and Key Points
seyfoyun
1
1.2k
iOS'te Tipografi
seyfoyun
0
390
Implementing Design Systems in Swift
seyfoyun
2
1.3k
Practical Testing in iOS
seyfoyun
0
180
Modern iOS Geliştirme
seyfoyun
0
460
Auto-Layout Öldü Mü? – NSIstanbul Ekim 2016
seyfoyun
0
420
Messaging as an Interaction — NSIstanbul April 2015
seyfoyun
1
170
Being a "Mobile Designer"
seyfoyun
5
590
Other Decks in Programming
See All in Programming
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
130
No More NoSuchMethodError
exoego
1
110
R8 の設定見直しでアプリサイズ削減
andpad
0
220
APNsからLive Activityを開始する話
yumnumm
0
170
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.2k
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
180
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4.2k
sbt 2.0: takeoff
eed3si9n
0
160
Railsバージョンを4倍にした話
optim
0
510
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
270
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
570
Ethics towards AI in product and experience design
skipperchong
2
440
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
The Curse of the Amulet
leimatthew05
3
16k
Building Applications with DynamoDB
mza
96
7.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Chasing Engaging Ingredients in Design
codingconduct
0
370
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Designing for Timeless Needs
cassininazir
1
530
Thoughts on Productivity
jonyablonski
76
5.4k
Transcript
NSIstanbul C O M M U N I T Y
Custom Animations and Transitions on iOS
Before
Interaction Designer
Form
None
Origami
None
Form
Custom Animations
A Primer on Animations
A Primer on Animations [UIView animateWithDuration:1.0 animations:^{ [self.view layoutIfNeeded]; }
completion:^{ }]; CAAnimation
A Primer on Animations UIView CALayer
A Primer on Animations CALayer [_loadingView.layer addAnimation:rotateAnimation forKey:@"rotateAnimation"];
A Primer on Animations CAAnimation CABasicAnimation CAKeyframeAnimation CAGroupAnimation
A Primer on Animations CAAnimation Keys rotation scale position height
origin strokeStart strokeEnd width
Basic Animations
Custom Animations
None
None
These animations require a lot of testing and trying.
These animations require a lot of testing and trying. How?
QuartzCode
None
Shape Particle Emitter Animations Chaining Replicator Image Text
Very Complex Animations
None
Custom Animations
Custom Transitions
iOS6 UIModalTransitions UINavigationController Transitions UIModalTransitionStyleCoverVertical UIModalTransitionStylePartialCurl UIModalTransitionStyleHorizontalFlip UIModalTransitionStyleCrossDissolve UIViewAnimationTransitionNone UIViewAnimationTransitionFlipFromLeft
UIViewAnimationTransitionFlipFromRight UIViewAnimationTransitionCurlUp UIViewAnimationTransitionCurlDown Custom Transitions
Custom Transitions iOS7 toVC.presentationStyle = UIModalPresentationCustom; toVC.transitioningDelegate = toVC; <UIViewControllerTransitioningDelegate>
<UIViewControllerTransitioningDelegate> -(id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController: (UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source -(id<UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController: (UIViewController
*)dismissed
<UIViewControllerAnimatedTransitioning> -(NSTimeInterval)transitionDuration: (id<UIViewControllerContextTransitioning>)transitionContext -(void)animateTransition: (id<UIViewControllerContextTransitioning>)transitionContext
transitionContext UIViewController *fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; UIViewController *toViewController = [transitionContext
viewControllerForKey:UITransitionContextToViewControllerKey];
- (id<UIViewControllerAnimatedTransitioning>) navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController*)fromVC toViewController:(UIViewController*)toVC { if (operation
== UINavigationControllerOperationPush) { return self.animator; } return nil; } Navigation Transitions
Thanks