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
UIStackView, Storyboard Reference, CoreSpotligh...
Search
Kishikawa Katsumi
October 01, 2015
Programming
3.5k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UIStackView, Storyboard Reference, CoreSpotlight API - iOS 9 bootcamp
Kishikawa Katsumi
October 01, 2015
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
150
Running Swift without an OS
kishikawakatsumi
0
960
浮動小数の比較について
kishikawakatsumi
0
580
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
260
愛される翻訳の秘訣
kishikawakatsumi
3
460
Private APIの呼び出し方
kishikawakatsumi
3
1k
iOSでSVG画像を扱う
kishikawakatsumi
0
250
Build your own WebP codec in Swift
kishikawakatsumi
2
2.6k
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
330
Other Decks in Programming
See All in Programming
yield再入門 #phpcon
o0h
PRO
0
380
Creating Composable Callables in Contemporary C++
rollbear
0
210
Foundation Models frameworkで画像分析
ryodeveloper
1
120
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.1k
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
210
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
760
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
270
Performance Engineering for Everyone
elenatanasoiu
0
270
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
650
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
530
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
650
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
300
The Language of Interfaces
destraynor
162
27k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Transcript
iOS 9 Bootcamp
#cm_ios9 #eventdots
https://github.com/kishikawakatsumi/ kishikawa katsumi http://kishikawakatsumi.com/ @ Realm
Agenda • What’s new in StoryBoard & AutoLayout - UIStackView
- StoryBoard Reference • Spotlight API
What’s new in StoryBoard & AutoLayout
UIStackView
UIStackView w Ϥί·ͨλςҰྻʹෳͷαϒϏϡʔΛϨ ΠΞτͯ͘͠ΕΔϏϡʔ w εϖʔεఱʢલޙʣͷدͤΛௐՄೳ
UITableView, UICollectionView + UIStackView?
UITableView, UICollectionView + UIStackView?
UIStackView is a wrapper of AutoLayout by Apple
AutoLayout Constraints
AutoLayout Constraints
AutoLayoutͷ w ͕ࠩ֬ೝͮ͠Β͍ ίʔυϨϏϡʔͮ͠Β͍ w ଞਓ͕ϝϯςφϯεͰ͖ͳ͍ 6*ͷ͕େ͖͍ w
Ϗϡʔಉ࢜Ͱ੍͔͕͚ͭ͠ΒΕͳ͍ ϏϡʔΛআͨ࣌͠ʹ͚ସ͑Δඞཁ͕͋Δ μϛʔ7JFXͳͲ8PSLBSPVOEͷ૿Ճ
UIStackView
Refactor with UIStackView
Refactor with UIStackView
Refactor with UIStackView
Refactor with UIStackView
DEMO
AutoLayout Constraints
Start with Stack View, use constraints as needed WWDC 2015
218 Misteries of AutoLayout part 1
Wrap up w 6*4UBDL7JFX"QQMFʹΑΔ"VUP-BZPVUͷϥούʔ w "VUP-BZPVU͕γϯϓϧʹͳΔ w ϏϡʔͷIJEEFOϓϩύςΟΛࣗಈతʹରԠ 8PSLBSPVOE͕͔ͳΓݮΒͤΔʢͣʣ
w ͕ࠩ֬ೝͮ͠Β͍ɺίʔυϨϏϡʔͮ͠Β͍ͳͲ Δ w J04POMZ
References • 218 Mysteries of Auto Layout, Part 1- WWDC
2015 • UIStackView Tutorial: Introducing Stack Views - raywenderlich.com • Playing With UIStackView - swiftandpainless.com/playing-with-uistackview/ • OAStackView - github.com/oarrabi/OAStackView
StoryBoard Reference
None
None
Refactor to Storyboard
Refactor to Storyboard
Refactor to Storyboard
None
Wrap up w͍উखͦͷ··ʹ4UPSZCPBSEΛׂͰ͖Δ w 9DPEFͷαϙʔτ͋Γ w$BOEFQMPZJ04EFWJDFTXJUIMJNJUBUJPOT 9DPEFͷϦϦʔεϊʔτʹ੍ݶͷهड़͕͋Δ ੍ݶΞϦͱͷهड़͕ͩ4FHVFͳͲਖ਼͘͠ػೳ͍ͯ͠Δ Α͏ʹݟ͑Δ
Spotlight API
None
Search APIs • NSUserActivity • CoreSpotlight • Web Markup
Search APIs • NSUserActivity • CoreSpotlight • Web Markup
CSSearchableItemAttributeSet *attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:…]; attributeSet.title = program.title; attributeSet.contentDescription
= [NSString stringWithFormat:@"%@ %@\n%@", ...]; attributeSet.startDate = program.startDate; attributeSet.endDate = program.endDate; CSSearchableItem *item = [[CSSearchableItem alloc] initWithUniqueIdentifier:program.identifier domainIdentifier:@“programs" attributeSet:attributeSet]; [searchableItems addObject:item]; CSSearchableIndex *searchableIndex = [CSSearchableIndex defaultSearchableIndex]; [searchableIndex indexSearchableItems:@[searchableItem] completionHandler:...] ݕࡧΠϯσοΫεʹՃɾߋ৽
[searchableIndex deleteSearchableItemsWithIdentifiers:@[identifier] completionHandler:...]; [searchableIndex deleteSearchableItemsWithDomains:@[domain] completionHandler:...]; [searchableIndex deleteAllSearchableItemsWithCompletionHandler:...]; ݕࡧΠϯσοΫε͔Βআ
Example: Book app
None
Challenges • How to track contents changed • Can users
choose index or not per contents?
Example: TV programs app
None
Challenges • How long to keep index the contents? •
Can users remove from index?
None
Wrap up • ΞϓϦΛԣஅͯ͠ݕࡧͰ͖Δ • άϩʔόϧͳใΛݕࡧՄೳʹ͢ΔͱΑ͍ʁ • ϓϩάϥϜ͔Βݕࡧ͢ΔAPIͳ͍ʢՃɾߋ ৽ɾআͷΈʣ •
ݕࡧ݁ՌΛΩϨΠʹอ͕ͭඞཁ
Wrap up • UIStackView • StoryBoard Reference • Spotlight API