Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
UIStackView, Storyboard Reference, CoreSpotlight API - iOS 9 bootcamp
Kishikawa Katsumi
October 01, 2015
Programming
4
2.6k
UIStackView, Storyboard Reference, CoreSpotlight API - iOS 9 bootcamp
Kishikawa Katsumi
October 01, 2015
Tweet
Share
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
家のいろいろな数値を計測する
kishikawakatsumi
3
1.1k
GitHub Actionsでテストの結果をわかりやすく表示する
kishikawakatsumi
1
130
GitHub Actionsでテストの結果をわかりやすく表示する
kishikawakatsumi
1
680
Network ExtensionでiOSデバイス上で動くパケットキャプチャを作る
kishikawakatsumi
7
4.1k
Xcode Cloud at a glance
kishikawakatsumi
2
710
StoreKit Testingについて
kishikawakatsumi
1
780
Build Swift Web Playground
kishikawakatsumi
1
120
SourceKit-LSPを使ってWebブラウザでSwiftの入力補完を実現する
kishikawakatsumi
1
2.2k
400種類のアプリを毎日ビルドする自動化の技術
kishikawakatsumi
15
7.5k
Other Decks in Programming
See All in Programming
デュアルトラックアジャイル× Agile Testingから 見えてきたQAのミライ
atamaplus
0
490
マイクロインタラクション入門〜ディテイルにこだわるエンジニアリング〜
swimmyxox
0
120
職場にPythonistaを増やす方法
soogie
0
330
アプリのログをチーム外で活用してもらうためにやったこと
shotakashihara
0
200
モバイルファーストデザインの爆速実装を考える
tanabee8
0
160
モデリングの費用対効果
masuda220
PRO
4
980
Android入門
hn410
0
310
競プロへの誘 -いざな-
u76ner
0
380
質とスピード(2022春版、質疑応答用資料付き) / Quality and Speed 2022 Spring Edition
twada
PRO
30
19k
既存画面の Jetpack Composeでの書き換え: FAANSでの事例紹介 / Case study of rewriting existing screens with Jetpack Compose
horie1024
0
350
バンドル最適化マニアクス at tfconf
mizchi
5
2.4k
カラーミーショップは私たちが作っています
kenchan
0
120
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
343
17k
Clear Off the Table
cherdarchuk
79
280k
Making Projects Easy
brettharned
98
4.3k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
What’s in a name? Adding method to the madness
productmarketing
11
1.5k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
Building an army of robots
kneath
299
40k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
212
20k
YesSQL, Process and Tooling at Scale
rocio
157
12k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
212
11k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
Building a Scalable Design System with Sketch
lauravandoore
447
30k
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