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
UIKit Dynamics
Search
Rob Brown
December 11, 2013
Technology
0
67
UIKit Dynamics
A basic overview of UIKit dynamics. Demo here:
https://github.com/rob-brown/Demos
Rob Brown
December 11, 2013
Tweet
Share
More Decks by Rob Brown
See All by Rob Brown
High-level Concurrency
robbrown
1
59
Data Source Combinators
robbrown
2
68
Elixir
robbrown
1
220
MVVM
robbrown
3
250
Reactive Cocoa
robbrown
2
140
iOS State Preservation and Restoration
robbrown
5
730
Anti-Patterns
robbrown
3
120
Core Animation: Beyond the Basics
robbrown
1
80
Pragmatic Blocks
robbrown
3
88
Other Decks in Technology
See All in Technology
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
740
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
370
Building Products in the LLM Era
ymatsuwitter
10
4.4k
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
10
2.7k
依存関係があるコンポーネントは Barrel ファイルでまとめよう
azukiazusa1
3
530
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
100
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
720
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
16
6.5k
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
1
1.3k
Datadogとともにオブザーバビリティを布教しよう
mego2221
0
130
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
240
マルチモーダル理解と生成の統合 DeepSeek Janus, etc... / Multimodal Understanding and Generation Integration
hiroga
0
360
Featured
See All Featured
It's Worth the Effort
3n
184
28k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
YesSQL, Process and Tooling at Scale
rocio
171
14k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
A better future with KSS
kneath
238
17k
Thoughts on Productivity
jonyablonski
69
4.5k
Designing Experiences People Love
moore
139
23k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Transcript
UIKit Dynamics Robert Brown Twitter: @robby_brown ADN: @robert_brown
What is UIKit Dynamics? A composable, reusable, declarative, real-world inspired
animation and interaction system.
What is UIKit Dynamics? Based on real-world interactions Gravity Collisions
Attachments Snap Forces Weight
Limitations It is possible to create behaviors that can’t be
satisfied Not completely accurate physics Does not replace Core Animation, UIView animations, or motion effects Only supports 2D transforms
UIGravityBehavior Gravity is a simple vector Default is (0, 1)
meaning straight down Default constant is 1000 px/sec2
UICollisionBehavior Views can collide with boundaries and other views Views
can collide conditionally with other views Callbacks for when collisions begin and end (UICollisionBehaviorDelegate) Collisions have a CPU cost
UIAttachmentBehavior Acts like a rope, string, or spring Damping is
customizable Has a length and two anchor points Attachments are invisible
UISnapBehavior Locks position and angle Can use damping
UIPushBehavior Simple force vector 1 UIKit Newton accelerates a (100,100)
view by 100 px/sec2
UIDynamicItemBehavior friction resistance angularResistance elasticity density allowsRotation
Composing Behaviors Effect Combination Bounce Gravity + collision Drag and
snap Attachment then snap Lock screen Gravity + Collision + Attachment + Push Magnet Multiple push
Demo
Questions?
Want to Learn More? WWDC 2013 Session 206 WWDC 2013
Session 221 UIKit Dynamics Catalog Sample