XCode 12.4 日本語化計画:Swift Tutorials
UI コントロールを扱う
セクション 4
ユーザが編集モードを終了するまで編集が有効にならないようにするには、編集中にプロファイルのドラフトコピーを使用し、そしてユーザが編集を確認したときにのみドラフトコピーを実際のコピーに割り当てます。
ステップ 1
ProfileHost にキャンセルボタンを追加します。
EditButton が提供する [Done(完了)] ボタンとは異なり、[Cancel(キャンセル)] ボタンは、クロージャ内の実際のプロファイルデータに編集を適用しません。
ステップ 2
onAppear(perform:) および onDisappear(perform:) 修飾子を適用して、エディタに正しいプロファイルデータを入力し、ユーザが [Done(完了)] ボタンをタップしたときに永続するプロファイルを更新します。
それ以外の場合は、次に編集モードがアクティブになったときに古い値が表示されます。
    ProfileHost.swift
    ProfileHost.swift
セクション 1 | セクション 2 |
セクション 3 | セクション 4 |
セクション 101 | セクション 102 |
セクション 103 | セクション 104 |
フレームワーク
編集状態が変化したとき、たとえば、ユーザがプロファイルを編集した後に [Done(完了)] をタップした場合ににビューを更新するにはどうすればよいですか。
accessibility(label:) 修飾子を使用していつアクセシビリティラベルを追加しますか?
アプリのすべてのビューにアクセシビリティラベルを常に追加します。 |
いつでもアクセシビリティラベルを追加すると、ユーザインターフェイス要素の意味がより多くのユーザにわかりやすくなります。 |
ビューにタグ修飾子を追加していない場合にのみ、accessibility(label:) 修飾子を使用します。 |
モーダルビュープレゼンテーションと非モーダルビュープレゼンテーションの違いは何ですか?
ビューをモーダルで表示すると、ソースビューが宛先ビューの編集モードを設定します。 |
ビューを非モーダルで表示すると、宛先ビューがソースビューをカバーし、現在のナビゲーションスタックを置き換えます。 |
ビューをモーダルで表示すると、宛先ビューがソースビューをカバーし、現在のナビゲーションスタックを置き換えます。 |
SwiftUI は、すべての Apple プラットフォーム上の既存の UI フレームワークとシームレスに連携します。たとえば、UIKit ビューとビューコントローラを SwiftUI ビュー内に配置したり、その逆を行うことができます。