我在Xcode 13中有一个颜色资产目录,它定义了光(“任意”)和暗(“暗”)变体中的一组颜色。例如:
我想以编程的方式枚举不同的颜色,这意味着,我想在这两个变体中得到颜色(Color("hkMagenta"))。只要按名字得到它,就会返回“任意”变体。
我怎样才能得到黑暗变体?
我原以为这会奏效的:
ColorManager.hkMagenta.environment(\.colorScheme, .dark)
不幸的是,不.
Cannot convert value of type 'some View' to expected element t
如何检查设备上的暗模式是否已启用。我想从视图中检查这一点,并有条件地显示或隐藏阴影。
我以为我可以从环境中获得colorScheme,但我想我错过了一些东西。
struct FloatingAddButton : View {
@Environment(\.colorScheme) var colorScheme
@Binding var openAddModal: Bool
var body : some View {
VStack {
Spacer()
HStack() {
我们可以使用动态提供程序来扩展UIColor类,并让颜色立即更改为暗模式和亮模式,如下所示 extension UIColor {
static var myControlBackground: UIColor {
return UIColor { (traits) -> UIColor in
// Return one of two colors depending on light or dark mode
return traits.userInterfaceStyle == .dark ?
UIColor(re
我从我的设计师那里得到了一系列不同色调的颜色。下面是我制作它们的方法 public struct Colors {
public static let blue = Blue()
public static let grey = Grey()
public static let black = Black()
public static let green = Green()
public static let orange = Orange()
public static let red = Color(hexString: "#F8