Xcode 15.0 日本語化計画:New Human Interface Guideline
アクセシビリティローター内のエントリを表す構造体。
アクセシビリティローターは、ユーザがユーザインターフェイスの特定の要素にすばやくナビゲートしたり、必要に応じてそれらの要素内の特定の範囲のテキストにナビゲートできるようにするショートカットです。
ローター内のエントリには、ユーザに対してエントリを識別するためのラベル、ローターエントリがどのアクセシビリティー要素にナビゲートするかを決定するために使用される識別子(ID)、および関連するアクセシビリティ要素のテキスト内の特定の位置にナビゲートするエントリーに使用されるオプションの範囲が含まれる場合があります。エントリはまた、アクセシビリティ要素をスクリーン上に表示するために必要な手動作業を行うために、エントリにナビゲートする前に呼び出されるハンドラを指定することもできます。
以下の例では、メッセージアプリケーションがローターを作成し、ユーザが特に VIP から発信されたメッセージにナビゲートできるようにします。
ForEach 繰り返し内に複数の Accessibility 要素がある場合、または ScrollView が存在しない状況では、optional の名前空間を使用してエントリを作成することもできます。この場合、ScrollViewReader を使用して要素を所定の位置にスクロールするには、prepare クロージャが必要になります。同じ名前空間を accessibilityRotorEntry(id:in:) の呼び出しに渡して、このエントリに関連した Accessibility 要素にタグを付ける必要があります。
以下の例では、メッセージアプリケーションがローターを作成し、ユーザが特に VIP から発信されたメッセージにナビゲートできるようにします。ローターエントリは、メッセージのコンテンツテキストに関連していますが、これは、Accessibility 要素を生成する ForEach 内の 2 つのビューの 1 つです。そのビューには、AccessibilityRotorEntry(id:in:) のタグが付けられているため、AccessibilityRotorEntry で見つける事ができ、ScrollViewReader が prepare クロージャとともに使用されて、ビューを所定の位置にスクロールします。
init(LocalizedStringKey, textRange: Range<String.Index>, prepare: (() -> Void))
特定のラベルと範囲で Rotor エントリを作成します。この Rotor エントリは、Rotor を所有する Accessibility 要素に関連しています。
init<L>(L, textRange: Range<String.Index>, prepare: (() -> Void))
特定のラベルと範囲で Rotor エントリを作成します。この Rotor エントリは、Rotor を所有する Accessibility 要素に関連しています。
init(Text?, textRange: Range<String.Index>, prepare: (() -> Void))
特定のラベルと範囲で Rotor エントリを作成します。この Rotor エントリは、Rotor を所有する Accessibility 要素に関連しています。
init(LocalizedStringKey, id: ID, textRange: Range<String.Index>?, prepare: (() -> Void))
特定のラベルと識別子(ID)、および optional の範囲を使用して Rotor エントリを作成します。
init<L>(L, id: ID, textRange: Range<String.Index>?, prepare: (() -> Void))
特定のラベルと識別子(ID)、および optional の範囲を使用して Rotor エントリを作成します。
init(Text, id: ID, textRange: Range<String.Index>?, prepare: (() -> Void))
特定のラベルと識別子(ID)、および optional の範囲を使用して Rotor エントリを作成します。
特定のラベル、識別子(ID)、名前空間、および optional の範囲を使用して Rotor エントリを作成します。
init<L>(L, ID, in: Namespace.ID, textRange: Range<String.Index>?, prepare: (() -> Void))
特定のラベル、識別子(ID)、名前空間、および optional の範囲を使用して Rotor エントリを作成します。
init(Text, id: ID, in: Namespace.ID, textRange: Range<String.Index>?, prepare: (() -> Void))
特定のラベル、識別子(ID)、名前空間、および optional の範囲を使用して Rotor エントリを作成します。
ID が Hashable に準拠している場合に準拠します。
accessibilityRotor<Content>(LocalizedStringKey, entries: () -> Content) -> some View
指定されたユーザー可視ラベルとコンテンツクロージャから生成されたエントリを持つアクセシビリティローターを作成します。
accessibilityRotor<Content>(Text, entries: () -> Content) -> some View
指定されたユーザー可視ラベルとコンテンツクロージャから生成されたエントリを持つアクセシビリティローターを作成します。
accessibilityRotor<L, Content>(L, entries: () -> Content) -> some View
指定されたユーザー可視ラベルとコンテンツクロージャから生成されたエントリを持つアクセシビリティローターを作成します。
protocol AccessibilityRotorContent
アクセシビリティ ローター内のコンテンツ。
ID が Hashable に準拠している場合利用可能です。
struct AccessibilityRotorContentBuilder
ローターエントリーコンテンツの生成に使用する結果ビルダー。