Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Custom Animations and Transitions on iOS
Search
seyfeddin
December 13, 2014
Programming
230
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
14 Years of iOS: Lessons and Key Points
seyfoyun
1
1.1k
iOS'te Tipografi
seyfoyun
0
370
Implementing Design Systems in Swift
seyfoyun
2
1.2k
Practical Testing in iOS
seyfoyun
0
160
Modern iOS Geliştirme
seyfoyun
0
440
Auto-Layout Öldü Mü? – NSIstanbul Ekim 2016
seyfoyun
0
410
Messaging as an Interaction — NSIstanbul April 2015
seyfoyun
1
160
Being a "Mobile Designer"
seyfoyun
5
590
Twitter Fabric (Turkish)
seyfoyun
3
360
Other Decks in Programming
See All in Programming
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
260
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
130
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.8k
継続モナドとリアクティブプログラミング
yukikurage
3
600
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
450
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
210
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
2
1.5k
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
420
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
330
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
830
Statistics for Hackers
jakevdp
799
230k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Leo the Paperboy
mayatellez
8
1.9k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
A Soul's Torment
seathinner
6
3.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
First, design no harm
axbom
PRO
2
1.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
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