当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Optional accessibilityRotor(_:entries:entryID:entryLabel:)用法及代码示例


用法一

实例方法

accessibilityRotor(_:entries:entryID:entryLabel:)

创建一个可访问性转子来替换指定的系统提供的转子。

声明

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

参数

systemRotor

将被此自定义转子覆盖的系统提供的转子。

entries

将用于生成转子条目的值数组。

entryID

条目类型上的键路径,可用于为条目生成标识符。标识符必须与 ForEach 中的标识符或 ScrollView 中的显式 id 调用匹配。

entryLabel

条目类型上的键路径,可用于为每个转子条目获取user-visible 标签。当用户打开转子的条目列表时,这在 macOS 上使用。

详述

辅助函数转子是辅助函数用户快速导航到用户接口的特定元素以及这些元素中的特定文本范围的快捷方式。

使用此修饰符需要将转子附加到 ScrollView 或直接在 ScrollView 内的辅助函数元素,例如 ForEach 。当用户从该转子导航到条目时,SwiftUI 将根据需要自动将它们滚动到适当的位置。

在以下示例中,消息应用程序创建了一个转子,允许用户导航到其垂直消息堆栈中的标题。


// `messageListItems` is a list of `MessageListItem`s
// that are either a `Message` or a heading, containing a `subject`
// and a `uuid`.
// `headingMessageListItems` is a filtered list of
// `messageListItems` containing just the headings.
ScrollView {
    LazyVStack {
        ForEach(messageListItems) { messageListItem in
            switch messageListItem {
                case .heading(let subject):
                    Text(subject)
                case .message(let message):
                    MessageView(message)
            }
        }
    }
}
.accessibilityElement(children: .contain)
.accessibilityRotor(
    .heading, entries: headingMessageListItems,
    entryID: \.uuid, label: \.subject
)

可用版本

iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+

用法二

实例方法

accessibilityRotor(_:entries:entryID:entryLabel:)

使用指定的 user-visible 标签和条目创建辅助函数转子。

声明

func accessibilityRotor<EntryModel, ID>(
    _ rotorLabelKey: LocalizedStringKey,
    entries: [EntryModel],
    entryID: KeyPath<EntryModel, ID>,
    entryLabel: KeyPath<EntryModel, String>
) -> some View where ID : Hashable

参数

labelKey

向用户标识此转子的本地化标签。

entries

将用于生成转子条目的值数组。

entryID

条目类型上的键路径,可用于为条目生成标识符。标识符必须与 ForEach 中的标识符或 ScrollView 中的显式 id 调用匹配。

entryLabel

条目类型上的键路径,可用于为每个转子条目获取user-visible 标签。当用户打开转子的条目列表时,这在 macOS 上使用。

详述

辅助函数转子是辅助函数用户快速导航到用户接口的特定元素以及这些元素中的特定文本范围的快捷方式。

使用此修饰符需要将转子附加到 ScrollView 或直接在 ScrollView 内的辅助函数元素,例如 ForEach 。当用户从该转子导航到条目时,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)

可用版本

iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+

用法三

实例方法

accessibilityRotor(_:entries:entryID:entryLabel:)

使用指定的 user-visible 标签和条目创建辅助函数转子。

声明

func accessibilityRotor<EntryModel, ID>(
    _ rotorLabel: Text,
    entries: [EntryModel],
    entryID: KeyPath<EntryModel, ID>,
    entryLabel: KeyPath<EntryModel, String>
) -> some View where ID : Hashable

参数

rotorLabel

向用户标识此转子的本地化标签。

entries

将用于生成转子条目的值数组。

entryID

条目类型上的键路径,可用于为条目生成标识符。标识符必须与 ForEach 中的标识符或 ScrollView 中的显式 id 调用匹配。

entryLabel

条目类型上的键路径,可用于为每个转子条目获取user-visible 标签。当用户打开转子的条目列表时,这在 macOS 上使用。

详述

辅助函数转子是辅助函数用户快速导航到用户接口的特定元素以及这些元素中的特定文本范围的快捷方式。

使用此修饰符需要将转子附加到 ScrollView 或直接在 ScrollView 内的辅助函数元素,例如 ForEach 。当用户从该转子导航到条目时,SwiftUI 将根据需要自动将它们滚动到适当的位置。

在以下示例中,消息应用程序创建了一个转子,允许用户导航到特定于来自 VIP 的消息。


// `messages` is a list of `Message`s that have a `subject` and a
// `uuid`. `vipMessages` 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,
    id: \.uuid, label: \.subject)

可用版本

iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional accessibilityRotor(_:entries:entryID:entryLabel:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。