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


Swift Optional accessibilityChildren(children:)用法及代码示例


实例方法

accessibilityChildren(children:)

用一个或多个新的合成辅助元素替换现有辅助元素的子元素。

声明

func accessibilityChildren<V>(children: () -> V) -> some View where V : View

参数

children

ViewBuilder 表示框架用于生成辅助函数元素的替换子视图。

详述

使用此修饰符将现有元素的子元素替换为您提供的一个或多个新的合成可访问性元素。这允许将合成的非可视可访问性元素设置为可视可访问性元素的子元素。

SwiftUI 在需要时隐式创建可访问性容器。如果可访问性元素已经存在,框架会将其转换为可访问性容器。

在下面的示例中,Canvas 显示没有任何固有辅助函数元素的垂直条图。您可以通过添加 accessibilityChildren(children:) 修饰符使其可访问性元素表示画布中绘制的每个条的值的视图来使视图可访问:


var body: some View {
    Canvas { context, size in
        // Draw Graph
        for data in dataSet {
            let path = Path(
                roundedRect: CGRect(
                    x: (size.width / CGFloat(dataSet.count))
                    * CGFloat(data.week),
                    y: 0,
                    width: size.width / CGFloat(dataSet.count),
                    height: CGFloat(data.lines),
                cornerRadius: 5)
            context.fill(path, with: .color(.blue))
        }
        // Draw Axis and Labels
        ...
    }
    .accessibilityLabel("Lines of Code per Week")
    .accessibilityChildren {
        HStack {
            ForEach(dataSet) { data in
                RoundedRectangle(cornerRadius: 5)
                    .accessibilityLabel("Week \(data.week)")
                    .accessibilityValue("\(data.lines) lines")
            }
        }
    }
}

SwiftUI 隐藏您使用 children 参数提供的所有视图,然后框架使用这些视图生成辅助函数元素。

可用版本

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

相关用法


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