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
Create “Dynamic” Feeling Transition
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masaki Haga
March 30, 2019
Technology
0
43
Create “Dynamic” Feeling Transition
Masaki Haga
March 30, 2019
Tweet
Share
More Decks by Masaki Haga
See All by Masaki Haga
What's new in UICollectionView
hagmas
0
760
UIStackView Animation
hagmas
0
360
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
6.8k
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
460
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
180
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
640
Tebiki Engineering Team Deck
tebiki
0
24k
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
680
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
640
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
What happened to RubyGems and what can we learn?
mikemcquaid
0
280
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
180
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Fireside Chat
paigeccino
41
3.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The agentic SEO stack - context over prompts
schlessera
0
630
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
Discover your Explorer Soul
emna__ayadi
2
1.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
Music & Morning Musume
bryan
47
7.1k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Amusing Abliteration
ianozsvald
0
99
Transcript
$SFBUFl%ZOBNJDz'FFMJOH5SBOTJUJPO
ࣗݾհ w (JUIVC"DDPVOUIBHNBT w J04&OHJOFFS!.FSDBSJ w +1"QQ w 6,"QQ
%FNP
2VJ[
None
None
❓
4JNQMF4DBMJOH 1FSTQFDUJWF [1PTJUJPO
1FSTQFDUJWF
IUUQTTMJEFTQMBZFSOFUTMJEF
var perspective = CATransform3DIdentity perspective.m34 = -1.0/eyePosition myParentLayer.sublayerTransform = perspective
ͭ·Γ w (SBEBUJPO-BZFSʹϚεΫΛ͔͚ͯɺͦΕΒʹ 1FSTQFDUJWF"OJNBUJPOΛՃ͍͑ͯ·͢ɻ
w 6*1SFTFOUBUJPO$POUSPMMFS w FH 6*1PQPWFS1SFTFOUBUJPO$POUSPMMFS w 6*7JFX$POUSPMMFS"OJNBUFE5SBOTJUJPOJOH 5SBOTJUJPOʹඞཁͳ"1*
w $"(SBEJFOU-BZFS w $"4IBQF-BZFS w $"#BTJD"OJNBUJPO #VUUPOʹඞཁͳ"1*
1SPUPUZQJOHPO 1MBZHSPVOE
/BUVSBM"OJNBUJPO 1IZTJDBM4JNVMBUJPO
ͬͯΈΑ͏ w 'PSGSBNFDIBOHFBOJNBUJPO class func animate(withDuration: TimeInterval, delay: TimeInterval,
usingSpringWithDamping: CGFloat, initialSpringVelocity: CGFloat, options: UIView.AnimationOptions = [], animations: () -> Void, completion: ((Bool) -> Void)? = nil)