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
iOSDC_SwiftUI_Text
Search
Atsuya Sato
September 18, 2021
Technology
4
5.8k
iOSDC_SwiftUI_Text
iOSDC Japan 2021でLT登壇した資料です
Atsuya Sato
September 18, 2021
Tweet
Share
More Decks by Atsuya Sato
See All by Atsuya Sato
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
590
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
1.1k
Pastelaのアプリ内課金開発の裏側 / pixiv-app-night-202502-pastela-iap
natmark
2
160
詳解UIWindow
natmark
3
5k
画面最前面に表示されるデバッグツールを作る
natmark
2
300
最低サポートOSバージョンをあげた時のストア表示について / potatotips81-store-page-apperance-with-deployment-target-updated
natmark
2
760
施策基盤としてのディープリンク〜なめらかにアプリが開く体験のために〜
natmark
9
8.5k
チームでSwiftUIを書くために / After Party iOSDC Japan 2021 SwiftUI
natmark
3
1.1k
Service development lecture in Cookpad Online Summer Internship 2020
natmark
1
8k
Other Decks in Technology
See All in Technology
Agile Leadership Summit Keynote 2026
m_seki
1
550
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
420
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
610
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
4.9k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.2k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
220
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
460
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
190
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
1
140
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
900
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
300
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
How to make the Groovebox
asonas
2
1.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
sira's awesome portfolio website redesign presentation
elsirapls
0
150
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
[SF Ruby Conf 2025] Rails X
palkan
1
740
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Transcript
"UTVZB4BUP 4XJGU6*5FYUΛ͍͜ͳؒ͢ J04%$+BQBO%BZ-5
J04%$+BQBO Ұ෦͚ͩ #PMEͷςΩετ Ͳ͏࣮͢Δʁ
HStack(spacing: 8) { Text("iOSDC").bold() Text("Japan 2021") } ۪ʹ)4UBDLΛͬͯ J04%$+BQBO
HStack(spacing: 8) { Text("Hello, iOSDC!").bold() Text("͍͍͍͍ςΩετ") } )FMMP J04%$ ͍͍͍
͍ςΩετ
Text("iOSDC").bold() + Text(" ") + Text("Japan 2021") ͜͏͍͏෩ʹॻ͚Δ J04%$+BQBO
Text("Hello, iOSDC!").bold() + Text(" ") + Text("͍͍͍͍ςΩετ") )FMMP J04%$͍͍ ͍͍ςΩετ
5FYUΛ ԋࢉࢠͰ݁߹͢Δ Text("iOSDC").bold() + Text(" ") + Text("Japan 2021") w
4XJGU6*ʹQVCMJDTUBUJDGVOD MIT5FYU SIT5FYU 5FYU ͕༻ҙ͞Ε͍ͯΔͷͰɺ͜͏͍͏ॻ͖ํ͕Ͱ͖Δ w J04ʙͰར༻Մೳ
J04%$+BQBO *NBHFͱ5FYUͷηοτ ύλʔϯ
Text(Image(systemName: "heart")) .foregroundColor(.pink) + Text(" ") + Text("iOSDC").bold() + Text("
") + Text("Japan 2021") ͖ͬ͞ͷԠ༻ͯ͜͠͏ॻ͚Δ J04%$+BQBO
Text(Image(systemName: "heart")) .foregroundColor(.pink) + Text(" ") + Text("iOSDC").bold() + Text("
") + Text("Japan 2021") *NBHFΛ5FYUͰϥοϓ͢Δ w 4XJGU6*5FYUʹQVCMJDJOJU @JNBHF*NBHF ͕༻ҙ͞Ε͍ͯΔͷͰɺ͜͏͍͏ॻ͖ํ͕Ͱ͖Δ w J04ʙͰར༻Մೳ
Text(" \(Text(Image(systemName: "heart")) .foregroundColor(.pink))□ \(Text("iOSDC").bold())□ Japan□2021 ") ͞Βʹ͜͏͍͏෩ʹॻ͚Δ ˞දࣔྖҬͷؔͰվߦΛೖΕͯɺۭനΛ˘ʹ͍ͯ͠·͢ J04%$+BQBO
จࣈྻิΛ֦ுͨ͠ॻ͖ํ w ͬ͘͟Γݴ͏ͱɺ4XJGU6*Ͱఆٛ͞Ε͍ͯΔQVCMJDNVUBUJOHGVOD BQQFOE*OUFSQPMBUJPO @UFYU5FYU ʹΑͬͯՄೳʹͳ͍ͬͯΔॻ͖ํ w J04ʙͰར༻Մೳ Text(" \(Text(Image(systemName:
"heart")) .foregroundColor(.pink))□ \(Text("iOSDC").bold())□ Japan□2021 ") w ͪͳΈʹ QVCMJDNVUBUJOHGVODBQQFOE*OUFSQPMBUJPO @JNBHF*NBHF ༻ҙ͞Ε͍ͯΔͷͰ w 5FYU a *NBHF TZTUFN/BNFBQQMFMPHP "QQMF Έ͍ͨͳॻ͖ํͰ͖Δ
จࣈྻิΛ֦ுͨ͠ॻ͖ํͷิ w 4XJGU6*5FYUQVCMJDJOJU @LFZ-PDBMJ[FE4USJOH,FZ UBCMF/BNF4USJOH OJM CVOEMF#VOEMF OJM DPNNFOU4UBUJD4USJOH
OJM ΛΠχγϟϥΠβͱ͍ͯ࣋ͬͯ͠ Δ w 5FYU J04%$ ͷΑ͏ʹॻ͍ͨ࣌ʹJ04%$ͷܕ-PDBMJ[FE4USJOH,FZʹͳΔ w -PDBMJ[FE4USJOH,FZ&YQSFTTJCMF#Z4USJOH*OUFSQPMBUJPOʹ४ڌ͢ΔܕͰ 4USJOH*OUFSQPMBUJPO1SPUPDPMʹ४ڌͨ͠ܕ4USJOH*OUFSQPMBUJPOΛ෦తʹ͍࣋ͬͯΔ w 4XJGU6*ʹఆٛ͞ΕͨBQQFOE*OUFSQPMBUJPOʹΑͬͯΧελϚΠζ͞ΕͨจࣈྻิΛར ༻Ͱ͖Δ Text(" \(Text(Image(systemName: "heart")) .foregroundColor(.pink))□ \(Text("iOSDC").bold())□ Japan□2021 ")
߹ܭ ԁ ܻ۠Γจࣈྻ ͍͍ײ͡ʹʜ
Text("߹ܭ \(amount)ԁ") ܻ۠Γจࣈྻͷදࣔ/VNCFS'PSNBUUFSແ͠Ͱ͍͍ ߹ܭ ԁ
จࣈྻิΛ֦ுܻͨ۠͠Γ w ͬ͘͟Γݴ͏ͱɺ4XJGU6*Ͱఆٛ͞Ε͍ͯΔQVCMJDNVUBUJOHGVOD BQQFOE*OUFSQPMBUJPO5 @WBMVF5 XIFSF5@'PSNBU4QFDJpBCMFʹΑ ͬͯՄೳʹͳ͍ͬͯΔॻ͖ํ w J04ʙͰར༻Մೳ Text("߹ܭ
\(amount)ԁ")) w ͪͳΈʹ QVCMJDNVUBUJOHGVODBQQFOE*OUFSQPMBUJPO5 @WBMVF5 TQFDJpFS4USJOH XIFSF 5@'PSNBU4QFDJpBCMFΛ༻͍ͯϑΥʔϚοτࢦఆ͢Δ͜ͱՄೳ • Text("\(pi, specifier: “%.2f")") ͷΑ͏ʹॻ͘ͱখԼ2ܻͷϑΥʔϚοτʹͳΔ
จࣈྻิΛ֦ுܻͨ۠͠Γͷิ Text("߹ܭ \(amount)ԁ")) w Έઌ΄Ͳઆ໌ͨ͠BQQFOE*OUFSQPMBUJPOʹΑΔจࣈྻิͷ֦ு public protocol _FormatSpecifiable : Swift.Equatable
{ associatedtype _Arg : Swift.CVarArg var _arg: Self._Arg { get } var _specifier: Swift.String { get } } w *OU%PVCMFͳͲͷܕ͕@'PSNBU4QFDJpBCMFʹ४ڌ͓ͯ͠Γɺࢦఆ͞ Εͨ@TQFDJpFSʹΑͬͯɺܕͷϑΥʔϚοτ͕ߦΘΕ͍ͯΔ
'SJ &BSMZ#JSE 4VQQPSUFS BOE3FHVMBS ͪͳΈʹɺJ04͔Β'PSNBU4UZMFར༻Մೳʹ
Text(iOSDC2021.startedAt, format: .dateTime .month(.defaultDigits) .day() .weekday() ) ͪͳΈʹɺJ04͔Β'PSNBU4UZMFར༻Մೳʹ 'SJ
&BSMZ#JSE 4VQQPSUFS BOE3FHVMBS Text(iOSDC2021.ticketKinds, format: .list(type: .and) )
4XJGU6*5FYUͰ'PSNBU4UZMFΛ͏ w 4XJGU6*5FYUʹ༻ҙ͞Ε͍ͯΔQVCMJDJOJU' @JOQVU''PSNBU*OQVU GPSNBU' XIFSF''PSNBU4UZMF ''PSNBU*OQVU&RVBUBCMF ''PSNBU0VUQVU4USJOHΛ ར༻Ͱ͖Δ
w J04ʙͰར༻Մೳ
w 5XJUUFS!O@BUNBSL w ॴଐΫοΫύουגࣜձࣾ w ΫοΫύουΞϓϦ J04"OESPJE ͷ։ൃ ࣗݾհ ࠤ౻ರ
͋ͭ