我正在尝试使用SwiftUI在我的iOS应用程序中实现暗模式:简单的测试是更改背景颜色。

我已经设置好颜色集,如下所示:
ios - SwiftUI:在设备上进行测试时未检测到黑暗模式-LMLPHP

ContentView.swift:

import SwiftUI

struct ContentView : View {

  @EnvironmentObject var session: SessionStore

  func getUser () {
      session.listen()
  }

  var body: some View {
    Group {
      if (session.session != nil) {
        VStack {
            WelcomeView()
            .background(Color("bg"))
            .edgesIgnoringSafeArea(.all)
        }
      } else {
        VStack {
            SigninView().transition(.move(edge: .bottom))
        }.frame(maxHeight: .infinity)
            .background(Color("bg"))
            .edgesIgnoringSafeArea(.all)
      }
    }.animation(.spring())
    .onAppear(perform: getUser)
  }

}


这行不通。但是,当在.colorScheme(.dark)之后用.onAppear强制使用暗模式时-它可以工作。

使用@Environment (\.colorScheme) var colorScheme:ColorScheme进行调试时,即使我的iPhone设置为“黑暗模式”,它也会返回光。

我错过了什么吗?

最佳答案

我想到了。原来在我的Info.plist文件中,用户界面样式已设置为light-只需将其删除即可。

ios - SwiftUI:在设备上进行测试时未检测到黑暗模式-LMLPHP

关于ios - SwiftUI:在设备上进行测试时未检测到黑暗模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59845579/

10-12 12:54