View in English

  • Apple Developer
    • 今すぐ始める

    「今すぐ始める」を詳しく見る

    • 概要
    • 学ぶ
    • Apple Developer Program

    最新情報

    • 最新ニュース
    • Hello Developer
    • プラットフォーム

    プラットフォームを詳しく見る

    • Appleプラットフォーム
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    特集

    • デザイン
    • 配信
    • ゲーム
    • アクセサリ
    • Web
    • Home
    • CarPlay
    • テクノロジー

    テクノロジーを詳しく見る

    • 概要
    • Xcode
    • Swift
    • SwiftUI

    特集

    • アクセシビリティ
    • App Intent
    • Apple Intelligence
    • ゲーム
    • 機械学習とAI
    • セキュリティ
    • Xcode Cloud
    • コミュニティ

    コミュニティを詳しく見る

    • 概要
    • 「Appleに相談」イベント
    • コミュニティによるイベント
    • デベロッパフォーラム
    • オープンソース

    特集

    • WWDC
    • Swift Student Challenge
    • デベロッパストーリー
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Center
    • ドキュメント

    ドキュメントを詳しく見る

    • ドキュメントライブラリ
    • テクノロジー概要
    • サンプルコード
    • ヒューマンインターフェイスガイドライン
    • ビデオ

    リリースノート

    • 注目のアップデート
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • ダウンロード

    ダウンロードを詳しく見る

    • すべてのダウンロード
    • オペレーティングシステム
    • アプリ
    • デザインリソース

    特集

    • Xcode
    • TestFlight
    • フォント
    • SF Symbols
    • Icon Composer
    • サポート

    サポートを詳しく見る

    • 概要
    • ヘルプガイド
    • デベロッパフォーラム
    • フィードバックアシスタント
    • お問い合わせ

    特集

    • アカウントヘルプ
    • App Reviewガイドライン
    • App Store Connectヘルプ
    • 近日導入予定の要件
    • 契約およびガイドライン
    • システムステータス
  • クイックリンク

    • イベント
    • ニュース
    • Forum
    • サンプルコード
    • ビデオ
 

ビデオ

メニューを開く メニューを閉じる
  • コレクション
  • すべてのビデオ
  • 利用方法

その他のビデオ

  • 概要
  • Summary
  • コード
  • tvOSアプリにダイナミックタイプを取り入れるための準備

    ダイナミックタイプを利用すると、ユーザーは自身に最適なテキストサイズを選択でき、アプリを快適に閲覧および操作できるようになります。tvOSでアプリをダイナミックタイプに対応させる上で役立つ、フォントスケーリングの実装や大きなテキストサイズに合わせたレイアウトの調整などの実践的なテクニックを解説します。さらに、グリッドやカルーセルなどのメディア型のインターフェイスを最適化し、さまざまなテキストサイズを利用するすべてのユーザーに優れた体験を提供する方法も紹介します。

    関連する章

    • 0:01 - Introduction
    • 2:46 - Identify common issues
    • 6:13 - Adapt your layout

    リソース

    • Applying custom fonts to text
    • Scaling fonts automatically
      • HDビデオ
      • SDビデオ

    関連ビデオ

    WWDC24

    • ダイナミックタイプの導入
  • このビデオを検索
    • 4:58 - Adopt standard text styles

      // Adopt standard text styles
      
      VStack(spacing: 20) {
        Text("Signup information")
          .font(.caption.bold())
          .lineLimit(1)
          .foregroundStyle(.secondary)
          .frame(width: 300, alignment: .leading)
        HStack(alignment: .top, spacing: 40) { 
            //* ... *//
        }
      }
    • 5:10 - Use flexible constraints

      // Adopt standard text styles
      
      VStack(spacing: 20) {
        Text("Signup information")
          .font(.caption.bold())
          .lineLimit(1)
          .foregroundStyle(.secondary)
          .frame(maxWidth: .infinity, alignment: .leading)
        HStack(alignment: .top, spacing: 40) { 
            /* ... */
        }
      }
    • 5:55 - Dynamic Type with text styles in UIKit

      // Hard coded text size in UIKit
      
      titleLabel.font = UIFont.boldSystemFont(ofSize: 28)
      
      // Dynamic Type with text styles in UIKit
      
      titleLabel.font = UIFont.preferredFont(forTextStyle: .headline)
      titleLabel.adjustsFontForContentSizeCategory = true
    • 7:09 - Adapt layout in response to dynamic type

      // A view that shows a collection of movie posters
      
      struct MovieShelf: View {
        @Environment(\.dynamicTypeSize) private var dynamicTypeSize
        var body: some View {
          ScrollView(.horizontal) {
            LazyHStack(spacing: 40) {
              ForEach(Asset.allCases) { asset in
                Button { 
                  /* ... */
                } label: {
                  asset.portraitImage
                  Text(asset.title)
                }
                .containerRelativeFrame(
                  .horizontal,
                  count: dynamicTypeSize.isAccessibilitySize ? 4 : 6,
                  spacing: 40)
              }
            }
          }
        }
      }
    • 8:07 - Provide a conditional layout for when larger sizes are turned on

      // A view that shows content in a card
      
      struct CardContentView: View {
        @Environment(\.dynamicTypeSize) private var dynamicTypeSize
        var asset: Asset
      
        var body: some View {
          let layout = dynamicTypeSize.isAccessibilitySize ?
            AnyLayout(VStackLayout(alignment: .leading, spacing: 10)) :
            AnyLayout(HStackLayout(alignment: .top, spacing: 10))
          layout {
            /* ... */
          }
        }
      }
    • 8:31 - UIKit adaptive layout that responds to content size changes

      // UIKit adaptive layout that responds to content size changes
      
      class AdaptiveLayoutViewController: UIViewController {
        let stackView = UIStackView()
        
        override func viewDidLoad() {
          super.viewDidLoad()
          updateLayout()
      
          let sizeTraits: [UITrait] = [UITraitPreferredContentSizeCategory.self]
          registerForTraitChanges(sizeTraits, action: #selector(updateLayout))
        }
      
        private func updateLayout() {
          if traitCollection.preferredContentSizeCategory.isAccessibilityCategory {
            stackView.axis = .vertical
          } else {
            stackView.axis = .horizontal
          }
        }
      
      }
    • 0:01 - Introduction
    • Large Text support is now available system-wide on tvOS 27, allowing apps to automatically scale text to match someone's needs and preferences. By supporting Dynamic Type, your app can adapt its layout and display its accessibility support in its Accessibility Nutrition Labels.

    • 2:46 - Identify common issues
    • When accommodating larger text, avoid fixed font sizes and rigid constraints that prevent text from scaling and cause truncation or clipping. Ensure all UI elements are flexible and responsive rather than relying on hardcoded values that break layouts at larger sizes.

    • 6:13 - Adapt your layout
    • Find and replace hardcoded sizes with standard text styles to allow interfaces to grow. In cases where standard scaling isn't enough, adapt your view's layout dynamically—such as reducing the number of columns in a grid—by checking the current `dynamicTypeSize` environment value.

Developer Footer

  • ビデオ
  • WWDC26
  • tvOSアプリにダイナミックタイプを取り入れるための準備
  • メニューを開く メニューを閉じる
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    メニューを開く メニューを閉じる
    • アクセシビリティ
    • アクセサリ
    • Apple Intelligence
    • App Extension
    • App Store
    • オーディオとビデオ(英語)
    • 拡張現実
    • デザイン
    • 配信
    • 教育
    • フォント(英語)
    • ゲーム
    • ヘルスケアとフィットネス
    • アプリ内課金
    • ローカリゼーション
    • マップと位置情報
    • 機械学習とAI
    • オープンソース(英語)
    • セキュリティ
    • SafariとWeb(英語)
    メニューを開く メニューを閉じる
    • 英語ドキュメント(完全版)
    • 日本語ドキュメント(一部トピック)
    • チュートリアル
    • ダウンロード
    • フォーラム(英語)
    • ビデオ
    Open Menu Close Menu
    • サポートドキュメント
    • お問い合わせ
    • バグ報告
    • システム状況(英語)
    メニューを開く メニューを閉じる
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles(英語)
    • フィードバックアシスタント
    メニューを開く メニューを閉じる
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(英語)
    • Mini Apps Partner Program
    • News Partner Program(英語)
    • Video Partner Program(英語)
    • セキュリティ報奨金プログラム(英語)
    • Security Research Device Program(英語)
    Open Menu Close Menu
    • Appleに相談
    • Apple Developer Center
    • App Store Awards(英語)
    • Apple Design Awards
    • Apple Developer Academy(英語)
    • WWDC
    最新ニュースを読む。
    Apple Developerアプリを入手する。
    Copyright © 2026 Apple Inc. All rights reserved.
    利用規約 プライバシーポリシー 契約とガイドライン