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
stackViewを使ってボタンをつくった話
Search
sun54907
November 28, 2017
Programming
0
1k
stackViewを使ってボタンをつくった話
potatotips #45 で話したものです。
sun54907
November 28, 2017
Tweet
Share
More Decks by sun54907
See All by sun54907
CreateMLを使ってサクラを判定しよう | iOSDC 2018 LT
sun54907
1
1.2k
既存のプロジェクトに、Firestoreを導入してみた
sun54907
1
1.2k
Introducing Password AutoFill
sun54907
1
560
3年間作り続けて来たアプリをSwift化した話
sun54907
0
6.8k
Other Decks in Programming
See All in Programming
CSC305 Lecture 04
javiergs
PRO
0
260
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
1.8k
Swift Concurrency - 状態監視の罠
objectiveaudio
2
490
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
200
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
210
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
100
CSC509 Lecture 03
javiergs
PRO
0
330
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
200
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
170
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.2k
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
0
110
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
140
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.9k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
GitHub's CSS Performance
jonrohan
1032
470k
What's in a price? How to price your products and services
michaelherold
246
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
Code Reviewing Like a Champion
maltzj
525
40k
Transcript
STACKVIEWΛͬͯ ɹϘλϯͭͬͨ͘
ςΩετ ࣗݾհ ▸ αϯʢւ ʣ ▸ גࣜձࣾαΠόʔΤʔδΣϯτ ▸ גࣜձࣾϚονϯάΤʔδΣϯτ ▸
@sun54907
ςΩετ ͏ͪͷΞϓϦ ▸ λοϓϧ
ςΩετ λοϓϧੜ ▸ 20145݄ϦϦʔε ▸ Swift 95% ▸ Swift 4
ରԠத ▸ ઌʑ݄ʹiOS8ΛΓ·ͨ͠
ςΩετ ։ൃͷ ▸ λοϓϧੜͰίϯϙʔωϯτԽΛਐΊ͍ͯΔ ▸ ৭UIύʔπͷ౷ҰΛਐΊ͍ͯΔ ▸ ن֨Խ͞ΕͨϘλϯΛ࡞Δ͜ͱʹͳͬͨ
Ϙλϯͷ
ςΩετ Ϙλϯͷཁ݅ ▸ λΠτϧɺλΠτϧࠨͷը૾ɺλΠτϧӈͷը૾͕͋Δ ▸ λΠτϧ৭എܠ৭͕ύλʔϯଘࡏ͢Δ ▸ ݟͨͷߴ͕͞28px͘Β͍ͷϘλϯ͋Δ ▸ ༰ʹ߹Θͤͨ෯ʹͳͬͨΓɺݻఆ෯ʹͳͬͨΓ͢Δ
Ϙλϯϥϕϧ Ϙλϯϥϕϧ Ϙλϯϥϕϧ Ϙλϯϥϕϧ ※σβΠϯ։ൃதͷͷͰ͢ɻ࣮ࡍͷ൛ͱҟͳΔՄೳੑ͕͋Γ·͢
ICON BUTTON VIEW https://github.com/sun54907/IconButtonView
ςΩετ ͍ํ let buttonView = ComponentButtonView.instantiate( data: .init(text: “Ϙλϯϥϕϧ”), style:
.medium(.fill), colorType: .primary ) stackView.addArrangedSubview(buttonView)
ͨ͠ ɹ ϙΠϯτ
STACKVIEWͰ WRAP_CONTENT
ςΩετ Ϙλϯͷཁ݅ ▸ λΠτϧɺλΠτϧࠨͷը૾ɺλΠτϧӈͷը૾͕͋Δ ▸ λΠτϧ৭എܠ৭͕ύλʔϯଘࡏ͢Δ ▸ ݟͨͷߴ͕͞28px͘Β͍ͷϘλϯ͋Δ ▸ ༰ʹ߹Θͤͨ෯ʹͳͬͨΓɺݻఆ෯ʹͳͬͨΓ͢Δ
ςΩετ Ϙλϯͷཁ݅ ▸ λΠτϧɺλΠτϧࠨͷը૾ɺλΠτϧӈͷը૾͕͋Δ ▸ λΠτϧ৭എܠ৭͕ύλʔϯଘࡏ͢Δ ▸ ݟͨͷߴ͕͞28px͘Β͍ͷϘλϯ͋Δ ▸ ༰ʹ߹Θͤͨ෯ʹͳͬͨΓɺݻఆ෯ʹͳͬͨΓ͢Δ
ςΩετ ▸ ༰ʹ߹Θͤͨ෯…·͋ɺautoLayoutͰ৭ʑͰ͖Δ͔ͳ… ▸ ͰςΩετͱը૾Ͱ࡞Δ͔ΒɺͦΕͧΕ͕͋Δ߹ͱͳ͍ ߹ରԠ͢Δͷ໘…
ͦΕɺSTACKVIEWͳΒͰ͖ΔΑ
ςΩετ STACKVIEWͱ ▸ iOS9͔Β͑Δػೳ ▸ AutoLayout Λઃఆ͢Δ View Λάϧʔϐϯάͯ͠ɺ·ͱΊ ੍ͯΛઃఆ͢Δ͜ͱ͕Ͱ͖Δ
▸ https://qiita.com/yucovin/items/ff58fcbd60ca81de77cb
STACK VIEW direction
STACK VIEW thirdView.isHidden = true
STACK VIEW
STACK VIEW ࣗಈతʹௐ͞ΕΔʂ
ࣗಈతʹௐ͞Εͨ݁Ռ
ςΩετ ଞͷϙΠϯτ ▸ Ϙλϯͷݟͨͷେ͖͞ΑΓɺ࣮ࡍʹλοϓͰ͖ΔൣғΛେ ͖͘͢Δ ▸ ߴ͞จࣈͷେ͖͞ΛܾΊΔύϥϝʔλΛprotocolʹ͠ɺ͋ Δఔࣗ༝ʹΧελϚΠζՄೳʹͨ͠
ςΩετ ▸ ৭ͷࢦఆ͕୯৭͔͠ରԠͯ͠ͳ͍ͷͰɺόϦΤʔγϣϯΛͭ ͚͍ͨ ▸ λοϓͯ͠৭͕มΘΔͷɺnormal, highlighted, disableͷ3 ύλϯ͔͠ͳ͍ͷͰɺશ෦ʹରԠ͍ͨ͠
▸ ໊લ͕͋Μ·Γؾʹೖͬͯͳ͍ ▸ xib͔Βੜͯ͠Δ͕ɺશ෦ίʔυͰੜͨ͠ํ͕͍қͦ͏ ▸ ެ։ͯ͠Δ͚Ͳɺ·ͩಈ͔ͳ͍
͋ΜͳΜී௨͡ΌΜ ࡞Γ͕ѱ͍ ͬͱ៉ྷʹͰ͖Δ ͦΜͳΓํ͋Δͷ͔ʙ ษڧʹͳͬͨͳʙ ҙݟɺ൷ืू͓ͯ͠Γ·͢ʂ ϚϦΦΦσοηΠ Γ͍ͨ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠