写真の背景と、ガラスのような半透明の画面を SwiftUI で作る:全画面に広げた時に決めたこと
iOS 26 の SwiftUI の glassEffect で、写真の背景にガラスのような半透明のカードを重ねるデザインを作りました。黒のグラデーションで文字を読みやすくし、背景は6枚と写真アプリから選べる形に。全画面に広げる時に、部品を1か所にまとめた作り方です。

SwiftUI で写真の背景にガラスのような画面を作る時は、写真、黒のグラデーション、iOS 26 の glassEffect(ガラスのような半透明の効果)のカード、の3つの層を重ねました。すべての画面に広げる時は、背景とカードの部品を1か所にまとめると、どの画面でも同じ見た目を保てます。
接客の録音アプリ(TalkLens)は、2026年9月の終わりに見た目を大きく作り直しました。音楽アプリのように、画面の全体に写真を敷き、その上にガラスのような半透明のカードを重ねるデザインです。今は、これがアプリの標準の見た目です。
最初はホームと録音中の2つの画面だけを作り直し、それをすべての画面に広げました。広げる時に、どの画面でも同じ見た目になるよう、部品を1か所にまとめています。この記事は、その作り方と、途中で決めたことの記録です。

写真の上に、黒のグラデーションと glassEffect のガラスを重ねる
画面は、下から順に3つの層を重ねています。

- 一番下に、写真の背景
- その上に、上が薄く下が濃い黒のグラデーション(文字を読みやすくするため)
- 一番上に、半透明のガラスのカードと、白い大きな文字
ガラスのカードには、iOS 26 の SwiftUI にある glassEffect を使いました。アプリが対応する iOS を 26 以上にしていたので、古い iOS のための代わりの作りは用意していません。

背景は6枚と、写真アプリから
背景の写真は、昼、夕方、夜の雰囲気のものを6枚用意しました。設定の「背景」の画面で、次の3つから選べます。
- 時間帯に合わせて、6枚から自動で選ぶ
- 6枚の中から、好きな1枚を選ぶ
- 写真アプリから、自分の写真を選ぶ
明るい写真は、文字が読みにくくなります。昼と夕方の写真だけは、下の黒のグラデーションを少し濃くしました。

全部の画面に広げる時、部品を1か所にまとめた
最初に作り直したのは、ホームと録音中の2つの画面だけでした。その見た目がオーナーに承認され、ほかの画面にも同じデザインを広げることになりました。

struct HistoryView: View {
var body: some View {
ScrollView {
ForEach(items) { item in
HistoryRow(item: item)
.appCard() // ガラスのカード
}
}
.appScreen(readability: .standard) // 写真の背景・グラデーション・暗い表示
}
}
「明るいシンプル」に切り替えられるようにした
写真とガラスのデザインは雰囲気がありますが、明るい場所では見にくいこともあります。そこで、設定の「表示スタイル」で、写真とガラスの「ムーディー」と、素の背景に角丸のカードを並べた「明るいシンプル」を切り替えられるようにしました。

見た目を、ダミーのデータで全部の画面を開いて確かめる
全部の画面の見た目を確かめるのに、本物のサーバーにつないで画面を1つずつ出していくのは大変です。開発用のビルドだけで使える起動の設定を作り、サーバーの代わりにダミーのデータを返して、全画面を順に開けるようにしました。App Store の画像も、この仕組みで撮っています。

まとめ

- 写真の背景、黒のグラデーション、ガラスのカードの3層で作った
- 背景は6枚から選ぶか、写真アプリから選べる。選んだ写真は端末の中だけに置く
- 全画面に広げる時は、見た目の部品を1つのファイルにまとめ、各画面は付けるだけにした
- 「明るいシンプル」にも切り替えられ、今どちらかは1か所だけが持つ
この記事は、AI(Claude)の支援を受けて作成し、筆者が内容を確認しています。


