インスタンスメソッド
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+   Beta  
func accessibilityRotor<EntryModel, ID>(
entries: [EntryModel],
entryID:
KeyPath<
EntryModel, ID>,
) -> some View where ID : Hashable
パラメータ
systemRotor
このカスタムローターによってオーバーライドされるシステム提供の Rotor。
entries
Rotor のエントリの生成に使用される値の配列。
entryID
エントリの識別子(ID)の生成に使用できるエントリ型のキー パス。ID は、ForEach の ID または ScrollView 内の明示的な id 呼び出しと一致しなければなりません。
entryLabel
すべての Rotor エントリのユーザ可視のラベルを取得するために使用できるエントリ型のキー パス。これは、ユーザがローターのエントリのリストを開くときに macOS で使用されます。
議論
アクセシビリティローターは、アクセシビリティユーザがユーザインターフェイスの特定の要素、およびオプションでそれらの要素内の特定の範囲のテキストにすばやくナビゲートするためのショートカットです。この修飾子を使用するには、Rotor を ScrollView に接着させるか、ForEach などの ScrollView 内のアクセシビリティ要素に直接接着する必要があります。 ユーザがこの Rotor からエントリにナビゲートすると、SwiftUI は必要に応じてエントリを所定の位置に自動的にスクロールします。
以下の例では、メッセージアプリケーションがローターを作成し、ユーザがメッセージのその垂直スタックの見出しにナビゲートできるようにします。
- extension Message {
// Ranges of special areas in the `content` text. Calculated when
// `content` is set and then cached so that we don't have to
// re-compute them.
var headingRanges: [Range<String.Index>]
- }
- struct MessageContentView: View {
TextEditor(.constant(message.content))
.accessibilityRotor(
.heading,
textRanges: message.headingRanges
)
- }
以下も見よ
システムローターの置き換え
func accessibilityRotor<Content>(AccessibilitySystemRotor, entries: () -> Content) -> some View
指定されたシステム提供のローターを置き換えるアクセシビリティローターを作成します。
func accessibilityRotor<EntryModel>(AccessibilitySystemRotor, entries: [EntryModel], entryLabel: KeyPath<EntryModel, String>) -> some View
指定されたシステム提供のローターを置き換えるアクセシビリティローターを作成します。
struct AccessibilitySystemRotor
システムが提供する自動ローターの 1 つを開発者が提供するローターに置き換えるローターを指定します。
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ