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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
seyfeddin
December 13, 2014
Programming
250
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
Transcript
36 slides
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
More Decks by seyfeddin
See All by seyfeddin
Modernizing iOS Apps
seyfoyun
0
150
14 Years of iOS: Lessons and Key Points
seyfoyun
1
1.2k
iOS'te Tipografi
seyfoyun
0
400
Implementing Design Systems in Swift
seyfoyun
2
1.3k
Practical Testing in iOS
seyfoyun
0
190
Modern iOS Geliştirme
seyfoyun
0
470
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
600
Other Decks in Programming
See All in Programming
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
160
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
220
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
350
SODA - FACT BOOK(JP)
sodainc
1
40k
Growing PicoRuby's Ecosystem on ESP32
yuuu
2
100
仕様駆動開発入門 (何を作るかを先に決めて渡す) | 目指せ Kiro マスター 05
inariku
PRO
2
120
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
240
Seven New Principles of Software Engineering
yegor256
0
480
Spec-driven Development with AI
simas
PRO
0
2.3k
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
310
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
430
AmebaブログはKMPから卒業します
kmars0605
0
340
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
Practical Orchestrator
shlominoach
192
12k
From π to Pie charts
rasagy
1
440
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
For a Future-Friendly Web
brad_frost
184
11k
Designing for Performance
lara
612
70k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
560