我正在尝试在 iOS 14 @AppStorage 中使用新的 @property 包装器。如果我在切换中使用它,它似乎无法使用 VoiceOver 切换。正常的 @State 私有 var 属性可以正常工作。我可以确认这些在 VoiceOver 未打开的情况下有效。
- 这是一个我可以自己解决的可访问性问题吗?
- 这是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