iPadOSのタブバーとサイドバーを最大限に活用する方法


この記事は、AppleのWWDC 2024セッション「[Elevate your tab and sidebar experience in iPadOS](https://developer.apple.com/jp/videos/play/wwdc2024/10147/)」を元に、iPadOS 18におけるタブバーとサイドバーの機能強化について詳細に解説します。これらの新機能は、アプリのユーザー体験を向上させ、コンテンツの視認性と操作性を高めるために役立ちます。

  - [タブバーの進化](#タブバーの進化)
    - [タブバーの位置変更と新しいデザイン](#タブバーの位置変更と新しいデザイン)
    - [無制限のタブサポート](#無制限のタブサポート)
    - [タブの統一と最適化](#タブの統一と最適化)
  - [サイドバーの機能強化](#サイドバーの機能強化)
    - [サイドバーの新しい表示オプション](#サイドバーの新しい表示オプション)
    - [サイドバーの階層構造とカスタマイズ](#サイドバーの階層構造とカスタマイズ)
  - [タブバーとサイドバーの統合](#タブバーとサイドバーの統合)
    - [ナビゲーションのベストプラクティス](#ナビゲーションのベストプラクティス)
    - [タブとサイドバーのカスタマイズ](#タブとサイドバーのカスタマイズ)
  - [カスタマイズ機能の強化](#カスタマイズ機能の強化)
    - [タブとサイドバーの柔軟な配置](#タブとサイドバーの柔軟な配置)
    - [他のプラットフォームでの対応](#他のプラットフォームでの対応)
  - [変更点一覧](#変更点一覧)
  - [まとめ](#まとめ)


## タブバーの進化

### タブバーの位置変更と新しいデザイン

iPadOS 18では、タブバーの位置が画面下部から上部に移動され、コンテンツの上に浮かぶ形で表示されるようになりました。このコンパクトなデザインにより、アプリのコンテンツ領域が拡大し、ユーザーはより多くの情報にアクセスできるようになりました。また、タブバーがナビゲーションバーと同じセーフエリア内に配置されることで、操作性が向上しています。

### 無制限のタブサポート

新しいタブバーは、無制限のタブをサポートしています。画面に収まりきらないタブは、自動的に折りたたまれてスクロールできるようになります。とはいえ、ユーザーが一目で認識できる範囲にタブの数を抑えることが推奨されます。

### タブの統一と最適化

タブは、iPhoneとiPad間で統一されたデザインが求められます。これにより、ユーザーはデバイスを問わず、シームレスにアプリを操作することができます。また、タブの数を増やしすぎると、ユーザーが必要な情報を見つけにくくなるため、重要な部分のみを表示するようにしましょう。

## サイドバーの機能強化

### サイドバーの新しい表示オプション

iPadOS 18では、サイドバーも大幅に進化しました。新しいオプションとして、タブバーをサイドバーとして表示することが可能になり、アプリのナビゲーションがさらに柔軟になります。これにより、ユーザーはサイドバーとタブバーを組み合わせて、より詳細で深いナビゲーションを実現できます。

### サイドバーの階層構造とカスタマイズ

新しいサイドバーは、`UITab`と`UITabGroup`クラスを使用して、階層的に構造化することが可能です。この階層構造を使用することで、サイドバー内にセクションを作成し、それぞれのセクションに複数のタブを含めることができます。さらに、ユーザーはこれらのタブをカスタマイズでき、表示・非表示の切り替えや並べ替えが可能です。

## タブバーとサイドバーの統合

### ナビゲーションのベストプラクティス

タブバーとサイドバーの統合は、特に詳細な階層構造を持つコンテンツ重視のアプリに最適です。タブバーには、アプリのトップレベルのセクションを表示し、サイドバーにはより多くのセクションを表示できます。この統合により、ユーザーはアプリの主要部分に迅速にアクセスでき、同時にアプリの全体像を把握することができます。

### タブとサイドバーのカスタマイズ

新しいタブバーとサイドバーは、ユーザーが自分のニーズに合わせてカスタマイズできる機能を提供します。例えば、サイドバー内で項目を非表示にしたり、並べ替えたりすることが可能です。また、タブバーでもドラッグ＆ドロップでタブを追加・削除することができ、個々のユーザーに最適な操作環境を提供します。

## カスタマイズ機能の強化

### タブとサイドバーの柔軟な配置

新しい`UITab` APIを使用することで、タブバーとサイドバーの表示方法を柔軟に設定できます。例えば、`UITabBarController`の`mode`プロパティを設定することで、サイドバーを表示したり、タブバーとして表示したりすることができます。また、サイドバーに配置するアイテムをカスタマイズし、ユーザーが自由に操作できるようにすることも可能です。

### 他のプラットフォームでの対応

iPadOS 18で導入されたタブバーとサイドバーの新機能は、他のAppleプラットフォームでもサポートされています。例えば、Mac Catalystでは`UITabBarController`の`mode`プロパティを使用して、タブバーやサイドバーの表示方法を選択できます。また、visionOSやtvOSでもこれらの新機能が利用可能であり、マルチプラットフォーム対応のアプリ構築が容易になります。

## 変更点一覧
以下は、iPadOS 18で導入されたタブバーとサイドバーの機能強化に関する、以前（iPadOS 17以前）と今回（iPadOS 18）の比較表です。

機能/項目 | iPadOS 17以前 | iPadOS 18
-- | -- | --
タブバーの位置 | 画面下部 | 画面上部（コンパクトな外観）
タブバーとナビゲーションバーの配置 | 別々に配置 | 同じセーフエリア内に配置
スペースの使用 | 縦方向および横方向に未使用のスペースが多い | 無駄なスペースを削減し、コンテンツ表示領域を拡大
ツールバー項目の表示 | 固定表示 | スペース不足時にオーバーフローに自動移動
サイドバーのナビゲーション | Split Viewを使用し、アウトラインビューを先頭に表示 | タブバーをサイドバーとして表示可能
タブの統一性 | デバイス間での統一性が必須ではなかった | iPhoneとiPad間での統一性が求められる
タブの数 | 制限あり（表示できるタブの数が限られている）	 | 選択肢が多すぎないように注意が必要
カスタマイズ機能 | 限定的なカスタマイズ機能 | タブやサイドバーの表示・非表示、並べ替えが可能
固定タブ、オプションタブ、ピン留めタブ | 対応なし | 3つのセクション（固定、オプション、ピン留め）が導入
他のプラットフォームでの対応 | 限定的な対応 | iOS、macOS、tvOS、visionOSでのサポート
ドラッグ＆ドロップ機能 | 一部対応 | タブやサイドバーのカスタマイズに対応
セクションの表示 | シンプルなセクション表示 | サイドバーとタブバーに階層構造を持たせて表示
サイドバーのアニメーション | 対応なし | サイドバーが非表示になる際のアニメーションが追加

<p>この表は、iPadOS 18での新しいタブバーとサイドバーの特徴と、従来のiPadOSバージョンにおける対応を対比したものです。新しい機能や改善点がどのようにユーザー体験を向上させるかを一目で確認できます。</p>

## まとめ

iPadOS 18でのタブバーとサイドバーのアップデートにより、アプリのナビゲーションが大幅に強化されました。これらの機能を活用して、ユーザーにとって使いやすく、パーソナライズされた体験を提供しましょう。詳細な実装例やさらに深い情報については、Appleの公式ドキュメント「[Elevate your tab and sidebar experience in iPadOS](https://developer.apple.com/documentation/uikit/app_and_environment/elevating_your_ipad_app_with_a_tab_bar_and_sidebar)」を参照してください。