インスタンスメソッド


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>(

_ systemRotor: AccessibilitySystemRotor,
entries: [EntryModel],
entryID: KeyPath<EntryModel, ID>,
entryLabel: KeyPath<EntryModel, String>
) -> some View where ID : Hashable







パラメータ


systemRotor

このカスタムローターによってオーバーライドされるシステム提供のローター。


entries

ローターのエントリを生成するために使用される値の配列。


entryID

エントリの ID の生成に使用できるエントリタイプのキーパス。ID は、ForEach の ID または ScrollView 内の明示的な id 呼び出しと一致する必要があります。


entryLabel

すべてのローターエントリのユーザーに可視のラベルを取得するために使用できるエントリタイプのキーパス。これは、ユーザーがローターのエントリのリストを開くときに macOS で使用されます。



議論


アクセシビリティローターは、アクセシビリティユーザーがユーザーインターフェイスの特定の要素、およびオプションでそれらの要素内の特定の範囲のテキストにすばやく移動するためのショートカットです。


この修飾子を使用するには、ローターを ScrollView に付属させるか、ForEach などの ScrollView 内のアクセシビリティ要素に直接付属させる必要があります。ユーザーがこのローターからエントリに移動すると、SwiftUI は必要に応じてエントリを所定の位置に自動的にスクロールします。


以下の例では、メッセージアプリケーションがローターを作成し、ユーザーがメッセージの垂直スタックの見出しに移動できるようにします。


  1. // `messageListItems` is a list of `MessageListItem`s
  2. // that are either a `Message` or a heading, containing a `subject`
  3. // and a `uuid`.
  4. // `headingMessageListItems` is a filtered list of
  5. // `messageListItems` containing just the headings.
  6. ScrollView {
  7. LazyVStack {
  8. ForEach(messageListItems) { messageListItem in
  9. switch messageListItem {
  10. case .heading(let subject):
  11. Text(subject)
  12. case .message(let message):
  13. MessageView(message)
  14. }
  15. }
  16. }
  17. }
  18. .accessibilityElement(children: .contain)
  19. .accessibilityRotor(
  20. .heading, entries: headingMessageListItems,
  21. entryID: \.uuid, label: \.subject
  22. )




以下も見よ


システムローターの置き換え


func accessibilityRotor<Content>(AccessibilitySystemRotor, entries: () -> Content) -> some View

指定されたシステム提供のローターを置き換えるアクセシビリティローターを作成します。


func accessibilityRotor<EntryModel>(AccessibilitySystemRotor, entries: [EntryModel], entryLabel: KeyPath<EntryModel, String>) -> some View

指定されたシステム提供のローターを置き換えるアクセシビリティローターを作成します。


func accessibilityRotor(AccessibilitySystemRotor, textRanges: [Range<String.Index>]) -> some View

指定されたシステム提供のローターを置き換えるアクセシビリティローターを作成します。ローターは現在のアクセシビリティ要素に付属され、各エントリはその要素の指定された範囲に移動します。


struct AccessibilitySystemRotor

システムが提供する自動ローターの 1 つを開発者が提供するローターに置き換えるローターを指定します。















トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ