Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Readable Width in action
Search
Tomohiro Nishimura
October 26, 2016
Programming
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Readable Width in action
Tomohiro Nishimura
October 26, 2016
More Decks by Tomohiro Nishimura
See All by Tomohiro Nishimura
レガシーシステム洗い出し大作戦
sixeight
0
1.7k
我々のRealmはどこからやってくるのか
sixeight
1
450
まだ見ぬAPIに思いを馳せて
sixeight
0
160
復習OptionSet
sixeight
0
320
今年読んだまんが
sixeight
0
260
べんりな検索ワード
sixeight
0
280
UIPreviewInteraction: Overview
sixeight
1
670
Accessing the Music Library
sixeight
1
3k
Web APIについての雑談
sixeight
0
430
Other Decks in Programming
See All in Programming
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
240
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
370
sbt 2.0: takeoff
eed3si9n
0
180
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
150
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
190
パスワード再設定メールのURLについて知っておこう
uyuki234
0
200
Event is what happens
moro
2
2.2k
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.1k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
300
SODA - FACT BOOK(EN)
sodainc
1
190
R8 の設定見直しでアプリサイズ削減
andpad
0
240
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
130
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.6k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Tell your own story through comics
letsgokoyo
1
1.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
Optimizing for Happiness
mojombo
378
71k
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
The Invisible Side of Design
smashingmag
301
52k
sira's awesome portfolio website redesign presentation
elsirapls
0
480
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
410
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
Transcript
࣮ફ3FBEBCMF8JEUI ؔϞόΠϧΞϓϦݚڀձ
JE4JYFJHIU w ג ͯͳ w J04ΞϓϦॻ͖࢝ΊͯҰܦͬͨ w ࠷ۙͷτϐοΫ͕ͳ͍ͷ͕ΈͰ͢ w !UPNPIJ@SP
3FBEBCMF8JEUI
ਓ͕ؒ಄Λಈ͔ͣ͞ʹจ ࣈ͕ಡΊΔ෯ ͬ͘͟Γ
None
None
None
3FBEBCMF8JEUI
None
None
ৄ͘͠
ࢿྉݟ͍ͨͰ͢
None
࣮ફ3FBEBCMF8JEUI ؔϞόΠϧΞϓϦݚڀձ
༰ w جຊ w 6*5BCMF w #BTJD$FMM w $VTUPN$FMM w
8JUI"DDFTTPSZ7JFX w ίʔυ͔Βࢦఆ͢Δ
༰ w جຊ w 6*5BCMF w #BTJD$FMM w $VTUPN$FMM w
8JUI"DDFTTPSZ7JFX w ίʔυ͔Βࢦఆ͢Δ
None
None
None
None
-BZPVU.BSHJOT(VJEF MFBEJOHBODIPS
None
None
3FBEBCMF$POUFOU(VJEF MFBEJOHBODIPS
༰ w جຊ w 6*5BCMF w #BTJD$FMM w $VTUPN$FMM w
8JUI"DDFTTPSZ7JFX w ίʔυ͔Βࢦఆ͢Δ
None
None
DFMM-BZPVU.BSHJOT'PMM PX3FBEBCMF8JEUI class TableViewController: UITableViewController { override func viewDidLoad() {
super.viewDidLoad() tableView.cellLayoutMarginsFollowReadableWidth = true } }
None
༰ w جຊ w 6*5BCMF w #BTJD$FMM w $VTUPN$FMM w
8JUI"DDFTTPSZ7JFX w ίʔυ͔Βࢦఆ͢Δ
None
None
None
None
DFMM-BZPVU.BSHJOT'PMM PX3FBEBCMF8JEUI class TableViewController: UITableViewController { override func viewDidLoad() {
super.viewDidLoad() tableView.cellLayoutMarginsFollowReadableWidth = true } }
None
༰ w جຊ w 6*5BCMF w #BTJD$FMM w $VTUPN$FMM w
8JUI"DDFTTPSZ7JFX w ίʔυ͔Βࢦఆ͢Δ
None
None
None
None
None
༰ w جຊ w 6*5BCMF w #BTJD$FMM w $VTUPN$FMM w
8JUIBDDFTTPSZWJFX w ίʔυ͔Βࢦఆ͢Δ
None
private func setup() { label = UILabel() label.text = "Section
Header" label.font = UIFont.boldSystemFont(ofSize: 15) contentView.addSubview(label) } override func layoutSubviews() { super.layoutSubviews() label.sizeToFit() let insetY = (bounds.height - label.bounds.height) / 2 label.frame = bounds.insetBy(dx: 16, dy: insetY) }
None
private func setup() { label = UILabel() label.text = "Section
Header" label.font = UIFont.boldSystemFont(ofSize: 15) label.translatesAutoresizingMaskIntoConstraints = false contentView.addSubview(label) let guide = contentView.readableContentGuide NSLayoutConstraint.activate([ label.topAnchor.constraint(equalTo: guide.topAnchor), label.bottomAnchor.constraint(equalTo: guide.bottomAnchor), label.leadingAnchor.constraint(equalTo: guide.leadingAnchor), label.trailingAnchor.constraint(equalTo: guide.trailingAnchor), ]) }
None
·ͱΊ w 4VQFSWJFXͷ'PMMPX3FBEBCMF8JEUIΛ ༗ޮʹ͢Δ w 6*5BCMF7JFXͷ DFMM-BZPVU.BSHJOT'PMMPX3FBEBCMF8J EUIΛ͏ w 6*7JFXͷSFBEBCMF$POUFOU(VJEFΛ͏
ϋοϐʔϋϩΟϯ