用法一
accessibilityRotor(_:entries:)
声明
func accessibilityRotor<Content>(
_ systemRotor: AccessibilitySystemRotor,
entries: @escaping () -> Content
) -> some View where Content : AccessibilityRotorContent
参数
systemRotor
将被此自定义转子覆盖的系统提供的转子。
entries
用于生成转子条目的内容。这可以包括AccessibilityRotorEntry 结构,以及 if 和 ForEach 等结构。
详述
辅助函数转子是辅助函数用户快速导航到用户接口的特定元素以及这些元素中的特定文本范围的快捷方式。当系统转子不会自动拾取不在屏幕上的元素时,以这种方式替换系统转子很有用,例如 LazyVStack
或 List
中的元素。
在以下示例中,消息应用程序添加了一个转子,允许用户浏览包含标题的所有文本范围。
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 contentHeadingRanges: [Range<String.Index>]
}
struct MessageContentView: View {
TextEditor(.constant(message.content))
.accessibilityRotor(.heading) {
ForEach(range in message.contentHeadingRanges) {
AccessibilityRotorEntry(textRange: range)
}
}
}
可用版本
用法二
accessibilityRotor(_:entries:)
声明
func accessibilityRotor<Content>(
_ label: Text,
entries: @escaping () -> Content
) -> some View where Content : AccessibilityRotorContent
参数
label
向用户标识此转子的本地化标签。
entries
用于生成转子条目的内容。这可以包括AccessibilityRotorEntry 结构,以及 if 和 ForEach 等结构。
详述
辅助函数转子是辅助函数用户快速导航到用户接口的特定元素以及这些元素中的特定文本范围的快捷方式。
在以下示例中,消息应用程序创建了一个转子,允许用户导航到特定于来自 VIP 的消息。
// `messages` is a list of `Identifiable` `Message`s.
ScrollView {
LazyVStack {
ForEach(messages) { message in
MessageView(message)
}
}
}
.accessibilityElement(children: .contain)
.accessibilityRotor("VIPs") {
// Not all the MessageViews are generated at once, the model knows
// about all the messages.
ForEach(messages) { message in
// If the Message is from a VIP, make a Rotor entry for it.
if message.isVIP {
AccessibilityRotorEntry(message.subject, id: message.id)
}
}
}
可用版本
用法三
accessibilityRotor(_:entries:)
声明
func accessibilityRotor<Content>(
_ labelKey: LocalizedStringKey,
entries: @escaping () -> Content
) -> some View where Content : AccessibilityRotorContent
参数
labelKey
向用户标识此转子的本地化标签。
entries
用于生成转子条目的内容。这可以包括AccessibilityRotorEntry 结构,以及 if 和 ForEach 等结构。
详述
辅助函数转子是辅助函数用户快速导航到用户接口的特定元素以及这些元素中的特定文本范围的快捷方式。
在以下示例中,消息应用程序创建了一个转子,允许用户导航到特定于来自 VIP 的消息。
// `messages` is a list of `Identifiable` `Message`s.
ScrollView {
LazyVStack {
ForEach(messages) { message in
MessageView(message)
}
}
}
.accessibilityElement(children: .contain)
.accessibilityRotor("VIPs") {
// Not all the MessageViews are generated at once, the model
// knows about all the messages.
ForEach(messages) { message in
// If the Message is from a VIP, make a Rotor entry for it.
if message.isVIP {
AccessibilityRotorEntry(message.subject, id: message.id)
}
}
}
可用版本
用法四
accessibilityRotor(_:entries:)
声明
func accessibilityRotor<L, Content>(
_ label: L,
entries: @escaping () -> Content
) -> some View where L : StringProtocol, Content : AccessibilityRotorContent
参数
label
向用户标识此转子的本地化标签。
entries
用于生成转子条目的内容。这可以包括AccessibilityRotorEntry 结构,以及 if 和 ForEach 等结构。
详述
辅助函数转子是辅助函数用户快速导航到用户接口的特定元素以及这些元素中的特定文本范围的快捷方式。
在以下示例中,消息应用程序创建了一个转子,允许用户导航到特定于来自 VIP 的消息。
// `messages` is a list of `Identifiable` `Message`s.
ScrollView {
LazyVStack {
ForEach(messages) { message in
MessageView(message)
}
}
}
.accessibilityElement(children: .contain)
.accessibilityRotor("VIPs") {
// Not all the MessageViews are generated at once, the model
// knows about all the messages.
ForEach(messages) { message in
// If the Message is from a VIP, make a Rotor entry for it.
if message.isVIP {
AccessibilityRotorEntry(message.subject, id: message.id)
}
}
}
可用版本
相关用法
- Swift Optional accessibilityRotor(_:entries:entryID:entryLabel:)用法及代码示例
- Swift Optional accessibilityRotor(_:entries:entryLabel:)用法及代码示例
- Swift Optional accessibilityRotor(_:textRanges:)用法及代码示例
- Swift Optional accessibilityRepresentation(representation:)用法及代码示例
- Swift Optional accessibilityAction(named:_:)用法及代码示例
- Swift Optional accessibilityAdjustableAction(_:)用法及代码示例
- Swift Optional accessibilityChartDescriptor(_:)用法及代码示例
- Swift Optional accessibilityAction(action:label:)用法及代码示例
- Swift Optional accessibilityChildren(children:)用法及代码示例
- Swift Optional accessibilityShowsLargeContentViewer()用法及代码示例
- Swift Optional accessibilityAction(_:_:)用法及代码示例
- Swift Optional accessibilityShowsLargeContentViewer(_:)用法及代码示例
- Swift Optional accessibilityScrollAction(_:)用法及代码示例
- Swift Optional alert(_:isPresented:presenting:actions:)用法及代码示例
- Swift Optional alert(isPresented:error:actions:)用法及代码示例
- Swift Optional alignmentGuide(_:computeValue:)用法及代码示例
- Swift Optional alert(isPresented:error:actions:message:)用法及代码示例
- Swift Optional alert(_:isPresented:presenting:actions:message:)用法及代码示例
- Swift Optional autocorrectionDisabled(_:)用法及代码示例
- Swift Optional aspectRatio(_:contentMode:)用法及代码示例
- Swift Optional allowsTightening(_:)用法及代码示例
- Swift Optional alert(_:isPresented:actions:message:)用法及代码示例
- Swift Optional alert(_:isPresented:actions:)用法及代码示例
- Swift Optional symbolVariant(_:)用法及代码示例
- Swift Optional popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional accessibilityRotor(_:entries:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。