基礎から学ぶSwiftUI


基礎から学ぶ SwiftUI


C&R研究所


著者:林晃


PROLOGUE
本書について

CHAPTER 01 SwiftUIを使ったアプリ開発
 001 SwiftUIの概要
 SwiftUIとは何か?
 SwiftUIの特徴
 COLUMN 「Write once,run anywhere」ではない
002 はじめてのSwiftUIアプリ
 iOSアプリのプロジェクトを作成する
 SwiftUIアプリのファイル構成
 SwiftUIのユーザーインターフェイス編集
 COLUMN 「UIKit」の「UIView」が現れない
 COLUMN プレビューエリアの表示切り替え
 COLUMN モディファイアによるビュー生成とMetalによるレンダリング

CHAPTER 02 SwiftUIのビューとレイアウトシステム
0003 SwiftUIのビュー
 スタック
 コントロール
 COLUMN SwiftUIで使用するアセットカタログ
 COLUMN 「SF Symbols」について
 フォーム
 カスタムビュー
004 他言語表示への対応
 ローカライズ文字列ファイルについて
 COLUMN ローカライズ文字列ファイルのテキストエンコーディング
 ローカライズ文字列ファイルの追加
 プロジェクトで使用する言語の設定
 SwiftUIでローカライズ文字列を使用する
005 SwiftUIでのフォントの指定
 ダイナミックタイプについて
 ダイナミックタイプの指定方法
 任意のサイズのフォントの指定方法
006 色と画像のレンダリング
 文字色を変更する
 ビューの背景色を変更する
 アセットカタログで色を定義して使用する
 画像のレンダリングモードと色合いの指定
007 SwiftUIのレイアウトシステム
 スタックによる位置揃え
 「Spacer」による位置調整
 「padding」モディファイアを使った余白の追加
 位置やサイズの指定
 「ScrollView」を使ったビューのスクロール
 セーフエリア外へのビューの拡張

CHAPTER 03 バインディングとデータフロー
008 SwiftUIでのデータフロー
 バインディングについて
 SwiftUIでのデータフローの設計方法
009 ビューとデータを同期させる
 「State」について
 プロパティをビューにバインディングさせる
 「ObservedObject」について
010 バインディング対応のカスタムビュー
 「Binding」について
 カスタムビューでバインディングを使用する
011 「EnvironmentObject」の利用
 「EnvironmentObject」経由でのデータ渡し
 「State」「ObservedObject」「EnvironmentObject」の使い分け

CHAPTER 04 複数のビューとビュー遷移
012 NavigationView
 ナビゲーションバーについて
 ナビゲーションビューを表示する
013 TabView
 タブビューを表示する
014 シート
 シートを表示する
 シートを閉じる
 COLUMN 「isPresented」がバインディングになっているのはなぜか?
015 Alert
 ボタンを1つだけ持ったアラートを表示する
 ボタンを2つ持ったアラートを表示する
 何かを削除するときの確認用のアラートを表示する
016 ActionSheet
 「ActionSheet」を表示する
017 ビューの動的生成
 単純な値のコレクションからビューを作成する
 独自のタイプのコレクションからキーパスを指定してビューを作成する
 「Identifiable」に適合するタイプのコレクションからビューを作成する
018 List
 「List」を表示する
 「List」と「ForEach」の組み合わせ
 「List」と「NavigationView」の組み合わせ
019 編集モード
 「List」のセルの並び替え
 「List」のセルの削除
 編集モードの取得
 COLUMN 「ContentView」の「body」で直接判定すると正しく動作しない
020 ビュー遷移時の処理
 ビューが表示/非表示されたときに処理を行う
 シートが閉じられたときに処理を行う

CHAPTER 05 グラフィック描画
021 シェイプの描画
 シェイプの共通事項
 Rectangle
 RoundedRectangle
 Capsule
 Circle
 Ellipse
022 Path
 点の移動
 パスに直接を追加する
 パスに円弧を追加する
 パスにベジェ曲線を追加する
 パスに楕円を追加する
 パスに四角形を追加する
 パスに角丸四角形を追加する
 パスを塗りつぶす
 「GeometryReader」と「Path」を組み合わせる
023 ビューとの組み合わせ
 「background」モディファイアとシェイプの組み合わせ
 クリッピングに使う
 マスクを適用する
024 グラデーション
 LinearGradient
 RadialGradient
 AngularGradient
025 エフェクトの適用
 エフェクトを適用するモディファイア
 blur
 opacity

CHAPTER 06 アニメーション
026 ビューの変形
 ビューの位置を移動する
 ビューを回転させる
 ビューを拡大・縮小させる
027 アニメーションを行う
 「animation」モディファイアを使ったアニメーション
 「withAnimation」関数を使ったアニメーション
028 トランジションを適用する
 transition
 移動の方向を指定する
 トランジションを組み合わせる

CHAPTER 07 UIKitとの組み合わせ
029 UIKitとSwiftUIの違い
 クラスと構造体
 宣言的と命令的
 COLUMN UIKit以外のネイティブフレームワークについて
030 SwiftUIの中でUIKitを使用する
 「UIView」をラップするビュー
 コーディネーターについて
 デリゲートを実装する
 ターゲットとアクションを実装する
 「UIView」への値変更の反映処理を実装する
 「UIViewController」をラップするビュー
 データソースを実装する
 状態駆動で考える
031 UIKitの中でSwiftUIを使用する
 SwiftUIのビューを表示する
 SwiftUIのビュー内の変更に対応する
 COLUMN 「UIHostingVontroller」クラスは「SceneDelegate」クラスでも使われている

CHAPTER 08 アクセシビリティ
032 iPhoneやiPadのアクセシビリティ機能について
 VoiceOver
 ディスプレイ調整
 ダイナミックタイプ
 ズーム
 音声コントロール
 その他
033 SwiftUIのアクセシビリティの自動対応
 アプリの動作テストについて
 表示されているテキストの読み上げ
 テキストの読み上げとローカライズ設定
 音声コントロールへの対応
034 アクセシビリティのカスタマイズ
 ラベルの設定
 カスタムアクションの設定
 アクセシビリティグループを作る

索引

書籍目次

Posted by shi-n