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
950
浮動小数の比較について
kishikawakatsumi
0
550
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
250
愛される翻訳の秘訣
kishikawakatsumi
3
450
Private APIの呼び出し方
kishikawakatsumi
3
1k
iOSでSVG画像を扱う
kishikawakatsumi
0
240
Build your own WebP codec in Swift
kishikawakatsumi
2
2.3k
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
330
Other Decks in Programming
See All in Programming
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
270
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
290
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
670
Agentic UI
manfredsteyer
PRO
0
180
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
210
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
550
Claspは野良GASの夢をみるか
takter00
0
200
Creating Composable Callables in Contemporary C++
rollbear
0
160
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
180
さぁV100、メモリをお食べ・・・
nilpe
0
150
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
310
ふつうのFeature Flag実践入門
irof
8
4.1k
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Embracing the Ebb and Flow
colly
88
5.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Design in an AI World
tapps
1
250
Designing Experiences People Love
moore
143
24k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Side Projects
sachag
455
43k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
610
Designing for humans not robots
tammielis
254
26k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
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