$30 off During Our Annual Pro Sale. View Details »
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
逆向きUIの世界 〜iOSアプリのRTL言語対応〜
akatsuki174
1
340
逆向きUIの世界〜AndroidアプリのRTL言語対応〜
akatsuki174
1
640
私が変えてきたこと、変えなかったこと
akatsuki174
2
930
最近読んでいる本-読書シェア会vol.1
akatsuki174
2
230
SwiftUI、UIKitでキャプチャを撮ろう!
akatsuki174
1
120
Appleにおけるプライバシーの全容を把握する
akatsuki174
0
5.9k
近年のAppleにおける位置情報とプライバシー
akatsuki174
3
480
オフライン勉強会ぼっち対策
akatsuki174
1
680
Xcode 15の新機能
akatsuki174
0
2.8k
Other Decks in Programming
See All in Programming
React Native New Architecture 移行実践報告
taminif
1
110
Level up your Gemini CLI - D&D Style!
palladius
1
130
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
11
6.2k
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
5
2.6k
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
160
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
480
All(?) About Point Sets
hole
0
230
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
8.3k
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
1.6k
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
310
r2-image-worker
yusukebe
1
180
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
640
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
527
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Speed Design
sergeychernyshev
33
1.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Designing for humans not robots
tammielis
254
26k
Why Our Code Smells
bkeepers
PRO
340
57k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
We Have a Design System, Now What?
morganepeng
54
7.9k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
350
Statistics for Hackers
jakevdp
799
230k
Faster Mobile Websites
deanohume
310
31k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
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Ͱͷσόοά͕ շదʹͳΔͬΆ͍
એ
ϦϞʔτ ͋ΔΑʂ
ॳ৺ऀܴ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ