當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Swift Never 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大神的英文原創作品 Never accessibilityChildren(children:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。