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
Auto Layoutライブデバッギング
Search
akatsuki174
August 18, 2018
Programming
0
590
Auto Layoutライブデバッギング
2018/08/18(土)Swift愛好会
iOSDCで話す内容の一部になるかもしれないやつ。
akatsuki174
August 18, 2018
Tweet
Share
More Decks by akatsuki174
See All by akatsuki174
最近読んでいる本-読書シェア会vol.1
akatsuki174
2
150
SwiftUI、UIKitでキャプチャを撮ろう!
akatsuki174
1
66
Appleにおけるプライバシーの全容を把握する
akatsuki174
0
5.5k
近年のAppleにおける位置情報とプライバシー
akatsuki174
3
420
オフライン勉強会ぼっち対策
akatsuki174
1
610
Xcode 15の新機能
akatsuki174
0
2.7k
AndroidにもSelect Photosがやってきた
akatsuki174
0
1.3k
Famm Android改善記
akatsuki174
0
360
Flutterアプリ開発にネイティブコードはどこまで求められるのか
akatsuki174
2
4.7k
Other Decks in Programming
See All in Programming
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
140
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
150
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
800
color-scheme: light dark; を完全に理解する
uhyo
7
480
ソフトウェアエンジニアの成長
masuda220
PRO
12
2k
SwiftUI Viewの責務分離
elmetal
PRO
2
260
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
CI改善もDatadogとともに
taumu
0
180
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
890
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
650
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
1
120
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
KATA
mclloyd
29
14k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
We Have a Design System, Now What?
morganepeng
51
7.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Docker and Python
trallard
44
3.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Designing for humans not robots
tammielis
250
25k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
360
Transcript
Auto LayoutϥΠϒσόοΪϯά @akatsuki174
ࣗݾհ
• ਢ౻ຘʢ@akatsuki174ʣ • iOSDC Japan 2018 ίΞελοϑ
ࠓͷ༰
9/2()ʹiOSDCͰొஃ͢ΔCfP
None
• 130ຕʢεϥΠυࢿྉͷਐḿ65%͘Β͍ʣ • ิࢿྉผ్༻ҙ͢Δ • ઈରʹ30ʹऩ·Βͳ͍ ਐḿ
• ࿅श݉Ͷͯɺ࡞ͬͨࢿྉͷҰ෦ΛͬͯAuto Layoutͷ ɹσόοάͷΛ͠·͢ • ࠓͷ༰Λຊ൪ͰΓࠐΉ͔Θ͔Γ·ͤΜ ɹʢͷͰຊ൪དྷͯ΄͍͠ʣ • AndroidΤϯδχΞ͍ΔͷͰʮAndroidͷ߹͜ΕͲ͏ͳΜʁʯ ɹΈ͍ͨͳΛͭͭ͠ΏΔΓͱΓ·͢
ͱ͍͏͜ͱͰ
̍
˞͔͜͜ΒϥΠϒσόοΪϯάͨ͠༰Λ εϥΠυʹىͨ͜͠ͷʹͳΓ·͢
࡞Γ͍ͨϨΠΞτ ֤7JFXͷ ԣ෯ ֤7JFXͷؒʹಁ໌ͳ 4QBDFS7JFXΛஔ iPhone 8 PlusͩͬͨΒʢҰԠʣͳ͔ͬͨ
iPhone SEαΠζͩͱ Ұݟେৎͦ͏͚ͩͲ େྔͷϫʔχϯά͕ ʘ8BSOJOHʗ
Ͳ͕͓͔͍͜͠ʁ ਫฏํͷ੍͕͓͔͍͜͠ͱ͕Θ͔Δ͕ɺ UIView͔ΓͰΑ͘Θ͔ΒΜʴͦΜͳʹෳࡶͳߏͯ͠ͳ͍ →ͱΓ͋͑ͣStoryboardͰݟͯΈΑ͏ XJEUI MFBEJOH.BSHJO USBJMJOH.BSHJO
͔ͯͲΕ͕ͲͷViewʁ identifier͚Δͷ໘ͩ͠ ผͷํ๏Ͱ۠ผ͠Α͏
ํ๏1ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̍ ·ͣ ϏϡʔσόοΨʔΛ ىಈͯ͠LLDB͕ ͑Δঢ়ଶʹ͢Δ
ํ๏1ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̍ lWJFXXJEUIΛ յͨͥ͠z յ͞ΕͨWJFXΛ ผ͢ΔͨΊʹ ৭Λ͚ͯΈΑ͏
ํ๏1ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̍ ඞཁͳϑϨʔϜ ϫʔΫΛJNQPSU --%#ͷݴޠΛ 4XJGUʹ
ํ๏1ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̍ VOTBGF#JU$BTUΛ ͬͯϙΠϯλ͔Β ΦϒδΣΫτΛऔಘ ΦϒδΣΫτԽ͍ͨ͠ ͷͷΞυϨεΛࢦఆ
ํ๏1ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̍ ΦϒδΣΫτԽͨ͠ WJFXͷഎܠ৭Λʹ
ํ๏1ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̍ ը໘ΛϦϑϨογϡͯ͠ มߋΛө
ํ๏1ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̍ ͜ͷWJFXͷXJEUIͷ ੍͕յΕͨΒ͍͠ʂ
ํ๏̎ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̎ ΦϒδΣΫτԽ͍ͨ͠ ͷͷΞυϨεΛࢦఆ
ํ๏̎ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̎ WJFXͷഎܠ৭Λʹ
ํ๏̎ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̎ ը໘ΛϦϑϨογϡͯ͠ มߋΛө
ํ๏̎ɿLLDB্ͰΦϒδΣΫτΛૢ࡞͢Δ̎ ͜ͷWJFXͷXJEUIͷ ੍͕յΕͨΒ͍͠ʂ
ํ๏̏ɿtext filterΛ͏ ΞυϨεΛUFYUpMUFSʹ ίϐϖʂ ֘͢ΔΦϒδΣΫτʹ ৭͕͍ͭͨʂ
ԫ৭viewͷwidthΛݟͯΈΔͱ… ͔֬ʹXJEUIͷ ੍͕յΕ͍ͯΔ
ࠓStoryboardͷSEαΠζͰݟͯΈΔ X͕Ͳ͏ͷ͜͏ͷͬͯ ݴͬͯΔͷͰͬͺΓ ਫฏํͷ੍͕ ͓͔͍͠
༧͍ͯͨ͠ϨΠΞτ SEͷԣ෯320ɺ֤Viewͷ෯͕100Ͱ leadingMarginɺtrailingMargin͕0ʹͳͬͯΔ͔Βɺ ViewؒͷSpacerView͕ॖ·ΕͪΌΜͱऩ·ΔͷͰʁʁ
ͯΏ͏͔… ͳΜͰleadingʹ伱͕ؒ Ͱ͖ͯΔΜͩΖ͏ʁʁ →ϏϡʔσόοΨʔͰ ɹ֬ೝͯ͠ΈΑ͏
Storyboard্Ͱ੍Λ֬ೝ͢Δํ๏̍ TIPX$POTUSBJOUT ੍ͷ༰
Storyboard্Ͱ੍Λ֬ೝ͢Δํ๏̎ ੍ΛӈΫϦοΫͰ ༰Λग़ྗ
superview͕͓͔͍͠ʁʁ ಛʹͳͦ͞͏
Կ͕͓͔͍͠Μͩʁʁ ͋ΕɺtrailingMargin͔ͬͯͯ͠͠…ʁ
3FMBUJWF UPNBSHJO ʹνΣοΫ͕ೖ͍ͬͯΔ ͭ·Γ QU͕ܭࢉʹೖ͍ͬͯΔ Կ͕͓͔͍͠Μͩʁʁ
Relative to marginͷνΣοΫΛ֎ͯ͠… 3FMBUJWFUP NBSHJO ͷνΣοΫΛ֎ͯ͠ DPOTUBOUΛʹ
ʂ ※ཧͷϨΠΞτͱleading, trailingͷϚʔδϯ͕ҟͳΓ·͕͢ɺ ࠓճviewͷwidth֬อΛ༏ઌ͢Δͱ͍͏ఆͰ͜ΕͰͱ͠·͢ɻ
ͬͨͶʂ ʢͬͯͳͬͯΔͣʣ
ิ
Storyboard্ͰϓϨϏϡʔ ΛiPhone SEʹͯ͠ ͍ΕStoryboard্Ͱ Τϥʔ͕ग़͍ͯΔ͜ͱΛ ֬ೝ͢Δ͜ͱ͕Ͱ͖·͢ɻ
facebook / chisel ͱ͍͏ͭΛ͏ͱLLDBͰͷσόοά͕ շదʹͳΔͬΆ͍
એ
ϦϞʔτ ͋ΔΑʂ
ॳ৺ऀܴ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ