インスタンスメソッド


accessibilityRotor(_:entries:entryLabel:)


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


iOS 15.0+ iPadOS 15.0+ macOS 12.0+ Mac Catalyst 15.0+

tvOS 15.0+ watchOS 8.0+ visionOS 1.0+   Beta  

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





パラメータ


systemRotor

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


entries

ローターのエントリを生成するために使用される識別可能な値の配列。Identifiable な値の識別子(ID)は、ForEach 内の ID または ScrollView 内の明示的な id 呼び出しと一致しなければなりません。ユーザがこの Rotor からエントリにナビゲートすると、SwiftUI は必要に応じてエントリを所定の位置に自動的にスクロールします。


entryLabel

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



議論


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


この修飾子を使用するには、Rotor を ScrollView に接着させるか、ForEach などの ScrollView 内のアクセシビリティ要素に直接接着する必要があります。


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


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





以下も見よ


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


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

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


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

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


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

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


struct AccessibilitySystemRotor

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















トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ