SwiftUIを駆使して複雑なカレンダーUIの設計と実装をしました by satoryo

iOSDC Japan 2023
レギュラートーク(20分)

SwiftUIを駆使して複雑なカレンダーUIの設計と実装をしました

satoryo
1

STORES 予約アプリは店舗などの管理者様向けの予約管理アプリで、2021年にiOS版をSwiftUIでフルリニューアルしました。
その後も追加機能の開発をし続け、今年の4月には待望のカレンダーUI (https://x.gd/GwDja) をリリースしました。

カレンダーUIとは「予約の入り具合や空き状況をカレンダーで閲覧するための画面」で、実装にあたり3つの壁に直面しました。
・既存ライブラリは使用せずにSwiftUIフルスクラッチで実装する
・予約スケジュールの時間の重複を可視化する
・予約情報の取得処理をKMMを利用してiOS/Android版で共通化する

本トークでは、カレンダーUI検討の背景から本実装、リリースに至るまでの過程をソースコードを交えながら解説します。
トークを聞いてくださった皆さんにSwiftUIで複雑なレイアウト画面を実装するためのヒントとなれば幸いです。