hunter-ji / Blog

My Blog.
121 stars 38 forks source link

SwiftUI项目判断是否为暗黑模式 #38

Open hunter-ji opened 3 years ago

hunter-ji commented 3 years ago

一. 实现

@Environment(\.colorScheme) var colorScheme

var isLight: Bool {
  colorScheme == .light
}

二. 调用

Text("Hello, World !")
    .foregroundColor(isLight ? Color.red : Color.green)

三. 完整例子

import SwiftUI

struct CheckIsLight: View {

    @Environment(\.colorScheme) var colorScheme

    var isLight: Bool {
      colorScheme == .light
    }

    var body: some View {
        Text("Hello, World !")
            .foregroundColor(isLight ? Color.red : Color.green) // 此处使用isLght实现根据暗黑模式切换字体颜色
    }
}

struct CheckIsLight_Previews: PreviewProvider {
    static var previews: some View {
        CheckIsLight()
    }
}