インスタンスメソッド
accessibilityRotor(_:entries:entryID:entryLabel:)
指定されたユーザーに可視のラベルとエントリを使用して、アクセシビリティローターを作成します。
iOS 15.0+
iPadOS 15.0+
macOS 12.0+
Mac Catalyst 15.0+
tvOS 15.0+
watchOS 8.0+
visionOS 1.0+
func accessibilityRotor<EntryModel, ID>(
entries: [EntryModel],
entryID:
KeyPath<
EntryModel, ID>,
) -> some View where ID : Hashable
パラメータ
labelKey
ユーザーに対してこのローターを識別するローカライズされたラベル。
entries
ローターのエントリを生成するために使用される値の配列。
entryID
エントリの ID の生成に使用できるエントリタイプのキーパス。ID は、ForEach の ID または ScrollView 内の明示的な id 呼び出しと一致しなければなりません。
entryLabel
すべての Rotor エントリのユーザーに可視のラベルを取得するために使用できるエントリタイプのキーパス。これは、ユーザーがローターのエントリのリストを開くときに macOS で使用されます。
議論
アクセシビリティローターは、アクセシビリティユーザーがユーザーインターフェイスの特定の要素、およびオプションでそれらの要素内の特定の範囲のテキストにすばやく移動するためのショートカットです。
この修飾子を使用するには、ローターを ScrollView に付属させるか、ForEach などの ScrollView 内のアクセシビリティ要素に直接付属させる必要があります。ユーザーがこのローターからエントリに移動すると、SwiftUI は必要に応じてエントリを所定の位置に自動的にスクロールします。
以下の例では、メッセージアプリがローターを作成し、ユーザーが特に VIP から発信されたメッセージに移動できるようにします。
- // `messages` is a list of `Message`s that have a `subject` and a
- // `uuid`. `vipMesages` is a filtered version of that list
- // containing only messages from VIPs.
- ScrollView {
LazyVStack {
ForEach(messages) { message in
MessageView(message)
}
}
- }
- .accessibilityElement(children: .contain)
- .accessibilityRotor("VIPs", entries: vipMessages,
entryID:
\.uuid, entryLabel:
\.subject)
以下も見よ
ローターをコレクションから作成
func accessibilityRotor<EntryModel, ID>(Text, entries: [EntryModel], entryID: KeyPath<EntryModel, ID>, entryLabel: KeyPath<EntryModel, String>) -> some View
指定されたユーザーに可視のラベルとエントリを使用して、アクセシビリティローターを作成します。
func accessibilityRotor<L, EntryModel, ID>(L, entries: [EntryModel], entryID: KeyPath<EntryModel, ID>, entryLabel: KeyPath<EntryModel, String>) -> some View
指定されたユーザーに可視のラベルとエントリを使用して、アクセシビリティローターを作成します。
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ