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
610
Auto Layoutライブデバッギング
2018/08/18(土)Swift愛好会
iOSDCで話す内容の一部になるかもしれないやつ。
akatsuki174
August 18, 2018
Tweet
Share
More Decks by akatsuki174
See All by akatsuki174
私が変えてきたこと、変えなかったこと
akatsuki174
2
830
最近読んでいる本-読書シェア会vol.1
akatsuki174
2
200
SwiftUI、UIKitでキャプチャを撮ろう!
akatsuki174
1
93
Appleにおけるプライバシーの全容を把握する
akatsuki174
0
5.7k
近年のAppleにおける位置情報とプライバシー
akatsuki174
3
460
オフライン勉強会ぼっち対策
akatsuki174
1
660
Xcode 15の新機能
akatsuki174
0
2.8k
AndroidにもSelect Photosがやってきた
akatsuki174
0
1.4k
Famm Android改善記
akatsuki174
0
390
Other Decks in Programming
See All in Programming
画像コンペでのベースラインモデルの育て方
tattaka
3
1.7k
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
480
Introduction to Git & GitHub
latte72
0
110
生成AI、実際どう? - ニーリーの場合
nealle
0
130
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
2
220
tool ディレクティブを導入してみた感想
sgash708
1
140
decksh - a little language for decks
ajstarks
4
21k
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
ワープロって実は計算機で
pepepper
2
1.4k
兎に角、コードレビュー
mitohato14
0
140
DataformでPythonする / dataform-de-python
snhryt
0
180
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
730
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing for humans not robots
tammielis
253
25k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Navigating Team Friction
lara
188
15k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
The Cult of Friendly URLs
andyhume
79
6.5k
What's in a price? How to price your products and services
michaelherold
246
12k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
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Ͱͷσόοά͕ շదʹͳΔͬΆ͍
એ
ϦϞʔτ ͋ΔΑʂ
ॳ৺ऀܴ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ