元のドキュメント: developer.apple.com/documentation/swiftui/landmarks-building-an-app-with-liquid-glass


サンプルコード


ランドマーク:リキッドガラスを使ったアプリ開発


システム提供のリキッドガラスとカスタムリキッドガラスで、アプリ体験を向上させましょう。



Download 註: ファイル等の再配布は Apple から禁じられているのでこのボタンは何も効果がない。「元のドキュメント」からダウンロードされたい。


iOS 26.0+ iPadOS 26.0+ Mac Catalyst 26.0+ macOS 26.0+ Xcode 26.0+

概観


Landmarks は、新しい、ダイナミックで表現力豊かなデザイン機能である Liquid Glass の使い方を示す SwiftUI アプリです。Landmarks アプリを使えば、世界中の興味深い場所を探索できます。自宅近くの国立公園でも、遠く離れた別の大陸の場所でも、アプリを使えば冒険を整理して記録し、その過程でカスタムアクティビティバッジを受け取ることができます。Landmarks は iPad、iPhone、Mac で動作します。



Landmarks は NavigationSplitView を使用してアプリ内のコンテンツを整理し、ナビゲートします。また、Liquid Glass の利用を最適化するためのいくつかの重要な概念を示しています。


  • サイドバーやインスペクターの背後に、背景拡張効果を使ってコンテンツを拡張する。

  • サイドバーやインスペクターの下に水平スクロールビューを拡張する。

  • ツールバーでシステム提供のガラス効果を活用する。

  • カスタムインターフェース要素とアニメーションにリキッドグラス効果を適用する。

  • アイコンコンポーザーを使用して新しいアプリアイコンを作成する。

  • このサンプルでは、ウィンドウサイズを変更する場合や、グローバル検索機能を追加する場合に使用できるいくつかのテクニックも示しています。



    背景拡張効果を適用する


    このサンプルでは、トップビュー内の注目ランドマークヘッダーと、ランドマーク詳細ビュー内のメイン画像に背景拡張効果を適用します。この効果により、サイドバーとインスペクターが開いているときに、それらの下の画像が拡張され、ぼかし効果によって画面全体に広がるような体験が実現します。


    この効果を実現するために、サンプルでは、コンテナビューの先頭と末尾の両方に広がる Image を作成して構成し、その画像に backgroundExtensionEffect() 修飾子を適用します。特色の画像については、修飾子の後に見出しとボタンを含むオーバーレイを追加することで、サイドバーとインスペクターの下に画像のみが広がるようにします。


    注意

    このサンプルでは、画像を上部の安全領域を超えて拡張し、ビューの境界を超えてスクロールしたときに画像をインタラクティブに拡張するロジックを追加しています。これによりアプリ内での画像の使い勝手は向上しますが、背景拡張効果を実装するために必須ではありません。

    詳細については、ランドマーク:背景拡張効果の適用 を参照してください。


    サイドバーの下で水平スクロールを拡張する


    LandmarksView の各大陸セクション内には、LandmarkHorizontalListView のインスタンスがあり、ランドマークビューの水平スクロールリストが表示されます。ランドマークビューは開いているとき、サイドバーまたはインスペクターの下でスクロールできます。



    この効果を実現するために、アプリはスクロールビューをコンテナビューの先頭と末尾の端に揃えています。



    詳細については、ランドマーク:サイドバーまたはインスペクターの下で水平スクロールを拡張する を参照してください。



    ツールバーの液体ガラスを洗練させる


    LandmarkDetailView では、サンプルはツールバー項目を以下の項目として追加します。


  • ランドマークを共有します

  • お気に入りリストにランドマークを追加または削除します

  • コレクションにランドマークを追加または削除します

  • インスペクタの表示または非表示

  • システムはツールバー項目に Liquid Glass を自動的に適用します。



    このサンプルでは、すべてのボタンを 1 つのグループにまとめるのではなく、関連するグループに分けています。詳細については、ランドマーク:ツールバーにリキッドグラス効果を提供するシステムを改良しました。 を参照してください。


    リキッドガラスでバッジを表示する


    バッジは、ランドマークアプリで記録したアクティビティを視覚的に示すものです。ランドマークに関する 4 つのアクティビティすべてを完了すると、そのランドマークのバッジを獲得できます。このサンプルでは、カスタムの Liquid Glass 要素とバッジを使用し、Liquid Glass とアニメーションを連携させる方法を示しています。



    カスタムのリキッドガラスバッジを作成するために、Landmarks は Image を含むビューを使用して、バッジのシステムシンボル画像を表示します。バッジには、カスタムカラーで塗りつぶされた Image の六角形の背景があります。バッジビューは glassEffect(_:in:) 修飾子を使用して、バッジにリキッドガラスを適用します。


    システムがリキッドガラスアニメーションで提供する変形効果を実証するために、サンプルではバッジとトグルボタンを GlassEffectContainer に整理し、各バッジに一意の glassEffectID(_:in:) を割り当てます。


    詳細については、ランドマーク:カスタムアクティビティバッジの表示 を参照してください。リキッドガラスを使用してカスタムビューを作成する方法については、カスタムビューにリキッドガラスを適用する を参照してください。


    Icon Composer でアプリのアイコンを作成します


    Landmarks には、Icon Composer で作成された、ダイナミックで表現力豊かなアプリアイコンが含まれています。アプリアイコンは 4 つの層で構成されており、ユーザーがデバイスを動かすと、システムがこれらの層を使用して鏡面反射によるハイライトを生成し、まるで光がガラスに反射しているかのようなアイコンの反応を実現します。設定アプリでは、アプリアイコンの明るさ、暗さ、透明度、tint などのバリエーションを選択することで、アイコンをカスタマイズすることもできます。


    新しいアプリアイコンの作成方法については、アイコンコンポーザーを使用したアプリアイコンの作成 をご覧ください。


    デザインに関するガイダンスについては、ヒューマンインターフェースガイドライン > アプリアイコン をご覧ください。





    トピックス


    アプリの特色


    {} ランドマーク:背景拡張効果の適用

    画像をぼかしてサイドバーまたはインスペクタパネルの下に拡張表示するように構成します。


    {} ランドマーク:サイドバーまたはインスペクターの下で水平スクロールを拡張する

    サイドバーやインスペクタの下で水平スクロールバーを拡張することで、見た目を改善できます。


    {} ランドマーク:ツールバーにリキッドグラス効果を提供するシステムを改良しました。

    ツールバーを関連するグループに整理することで、見た目と使いやすさを向上させましょう。


    {} ランドマーク:カスタムアクティビティバッジの表示

    アニメーション付きのカスタムアクティビティバッジを表示することで、人々が自分の冒険をする方法を提供します。





    以下も見よ


    本質的な


    リキッドガラスの採用


    新しい素材をアプリに取り込む方法をご覧ください。


    Swift での開発

    「Develop in Swift Tutorials」は、Apple プラットフォーム向けアプリ開発を学びたいすべての人に、Swift と Xcode を使ったアプリ開発を紹介します。


    最新の SwiftUI

    SwiftUI の重要な変更点について学びましょう。














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ