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
1
2.2k
Storyboardいいよ
Storyboardについて話しました
Ryota Hayashi
June 23, 2017
Tweet
Share
More Decks by Ryota Hayashi
See All by Ryota Hayashi
パスワードレスアプリをつくる
hayashi311
0
1.2k
アイコンフォントの自動生成
hayashi311
2
1.7k
アセットマネジメントとシンボルフォントの話
hayashi311
0
250
Interface builderでカスタムViewのライブレンダリング
hayashi311
0
2.1k
Other Decks in Technology
See All in Technology
Wasmの気になる最新情報
askua
0
160
私のMCPの使い方
tsubakimoto_s
0
110
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
190
ビズリーチ求職者検索におけるPLMとLLMの活用 / Search Engineering MEET UP_2-1
visional_engineering_and_design
1
170
「最速」で Gemini CLI を使いこなそう! 〜Cloud Shell/Cloud Run の活用〜 / The Fastest Way to Master the Gemini CLI — with Cloud Shell and Cloud Run
aoto
PRO
0
130
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
10
5k
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
3
240
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
700
技育祭2025【秋】 企業ピッチ/登壇資料(高橋 悟生)
hacobu
PRO
0
120
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
AIエージェント入門 〜基礎からMCP・A2Aまで〜
shukob
0
110
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
The Language of Interfaces
destraynor
162
25k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
KATA
mclloyd
PRO
32
15k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
990
Site-Speed That Sticks
csswizardry
13
910
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Documentation Writing (for coders)
carmenintech
75
5.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
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