0

我正在尝试在 iOS 14 @AppStorage 中使用新的 @property 包装器。如果我在切换中使用它,它似乎无法使用 VoiceOver 切换。正常的 @State 私有 var 属性可以正常工作。我可以确认这些在 VoiceOver 未打开的情况下有效。

  1. 这是一个我可以自己解决的可访问性问题吗?
  2. 这是Apple需要修复的iOS14错误吗?

下面的代码:

import SwiftUI
import Foundation

final class Settings: ObservableObject {
    @AppStorage("sounds") var sounds: Bool = true

    init() {}
}

struct SettingsView: View {
    @ObservedObject var settings: Settings
    @State private var sounds: Bool = true

    var body: some View {
        NavigationView {
            List {
                VStack {
                    Toggle("AppStore toggle", isOn: $settings.sounds)
                    Toggle("State toggle", isOn: $sounds)
                }
            } .navigationBarTitle("Settings", displayMode: .inline)
// end list
        } // end NavigationView
    } // end body
} // end SettingsView
4

1 回答 1

0

它必须在视野中

struct SettingsView: View {
    @AppStorage("sounds") var sounds: Bool = true     // << here !!

    var body: some View {
        NavigationView {
            List {
                VStack {
                    Toggle("AppStore toggle", isOn: $sounds)
    // ...
于 2020-08-08T17:16:20.807 回答