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
Storyboardいいよ
Search
Ryota Hayashi
June 23, 2017
Technology
2.2k
1
Share
Storyboardいいよ
Storyboardについて話しました
Ryota Hayashi
June 23, 2017
More Decks by Ryota Hayashi
See All by Ryota Hayashi
パスワードレスアプリをつくる
hayashi311
0
1.2k
アイコンフォントの自動生成
hayashi311
2
1.7k
アセットマネジメントとシンボルフォントの話
hayashi311
0
270
Interface builderでカスタムViewのライブレンダリング
hayashi311
0
2.1k
Other Decks in Technology
See All in Technology
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
470
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
220
OpenID Connectによるサービス間連携
takesection
0
130
TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で
ypresto
3
680
Sony_KMP_Journey_KotlinConf2026
sony
0
130
開発を止めない CI/CD ~CI Visibilityによる継続的最適化~
pensuke628
0
130
APIテストとは?
nagix
0
120
AI とサービス・デザイン / AI and Service Design
ks91
PRO
0
180
Kiro CLI v2.0.0がやってきた!
kentapapa
0
200
NFLコンペ2026 解法
lycorptech_jp
PRO
0
120
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
870
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
250
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
150
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Limits of Empathy - UXLibs8
cassininazir
1
340
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Building an army of robots
kneath
306
46k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Fireside Chat
paigeccino
42
3.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Invisible Side of Design
smashingmag
302
52k
Transcript
Storyboard͍͍Α @hayashi311
ΞϓϦ։ൃΉ͔͍ͣ
ϓϩμΫτͷҭͯํ
ݱ࣮ࢼߦࡨޡͷ܁Γฦ͠
ը໘ભҠ ը໘ϨΠΞτ UIίϯϙʔωϯτ ελΠϧ ϘλϯɺೖྗϑΟʔϧυͳͲ ςΩετ৭ͳͲ શମͷϨΠΞτɺ CellɺϔομͷϨΠΞτͳͲ
ը໘ભҠ ը໘ϨΠΞτ UIίϯϙʔωϯτ ελΠϧ Ұ؏ੑ͕ॏཁ ͨ·ʹมߋ มߋ͕ଟ͍
ը໘ભҠ ը໘ϨΠΞτ UIίϯϙʔωϯτ ελΠϧ Storyboard
ਏ͍ύλʔϯɺͨͱ͑ ελΠϧΛStoryboard্Ͱઃఆ͗͢͠ Ͱɺগͣͭ͠ελΠϧ͕ͣΕ͍ͯΔ
ਏ͍ύλʔϯɺͨͱ͑ UIίϯϙʔωϯτΛStoryboard্Ͱ࡞ΓࠐΈ͗͢ Ͱɺಉ͡StoryboardΛ2ͱ࡞Εͳ͍
Keep a storyboard simple StoryboardΧδϡΞϧʹ࡞ΓɺΧδϡΞϧʹࣺͯΔ ͦͷͨΊʹγϯϓϧʹ
Storyboardͱ૬ੑͷΑ͍UIίϯϙʔωϯτΛ࡞Δ ͦͯ͠ɺStoryboard؆୯ʹ
AutoLayoutͱ૬ੑͷ͍͍UIίϯϙʔωϯτΛ࡞Δ layoutSubviews intrinsicContentSize
@IBInspectable
hitTestͷoverride Button λοϓʹԠ͢ΔྖҬ Viewͷframe
UIWindowΛىʹhitTest͕࠶ؼతʹݺͼग़͞ΕΔ func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView?
{ if { for subview in subviews { if let hitView = subview. { return hitView } } return self } return nil }
Self-Sizing Cells
Self-Sizing Cells Self-Sizing Cells tableView.register(GoldenRatioCell.self, forCellReuseIdentifier: "Cell") tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 10
Self-Sizing Cells: ԫۚൺCell class GoldenRatioCell: UITableViewCell { override func systemLayoutSizeFitting(_
targetSize: CGSize, …) -> CGSize { return CGSize(width: targetSize.width, height: targetSize.width * 0.618) // ԫۚൺ } }
None
Storyboard
Storyboard AutoLayout - Code
Storyboard AutoLayout - Code layoutSubview
Storyboard AutoLayout - Code layoutSubview
Storyboard AutoLayout - Code layoutSubview
None
Storyboard
layoutSubview
มԽͷଟ͍ը໘ϨΠΞτʹStoryboardͷεϐʔυ͕ඞཁ Storyboard/ίʔυɺAutoLayout/layoutSubviewsΛΈ߹ΘͤΔ ࢼߦࡨޡͯ͠ɺ͍͍ΞϓϦΛ࡞Γ·͠ΐ͏ :)
None
2017.09.15 (Fri) - 17 (Sun)
None