ios - 获取 Assets 中声明的颜色的浅色或深色变体

标签 ios swift uikit swiftui

在我的 Assets 中,我为浅色和深色外观声明了两种变体的主题颜色,效果很好。但是,我在应用程序中有一个特定位置,无论是否启用暗模式,我都需要使用颜色的浅色变体。除了将相同的颜色声明为只有一个变体的单独颜色之外,还有其他方法可以在代码中获取该颜色吗?

最佳答案

在 SwiftUI 中,如果需要为某些 subview 使用轻量级变体,强制指定 .colorScheme 就足够了。为此,如下所示

颜色变体:

colors

演示:

demo

var body: some View {
    VStack {
        Rectangle().fill(Color("testColor"))
            .frame(width: 100, height: 100)
            .environment(\.colorScheme, .light) // << force light
    }
    .frame(width: 300, height: 300)
    .background(Color("testColor")) // << system appearance
}

关于ios - 获取 Assets 中声明的颜色的浅色或深色变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60709874/

相关文章:

ios - 如何隐藏 tableView 搜索栏

ios - UITableViewCell 未显示警报 View

ios - 自动调整 anchor 大小不会将 subview 设置为角点

ios - UITextView滚动时 float 蓝框

ios - 将数组传递给单例(swift)

ios - 如何实现不同分辨率的图像

swift - 如何将实例方法用作仅采用 func 或文字闭包的函数的回调

ios - 在开源解析服务器上实现云代码

iphone - 如何让 iPhone 屏幕变暗

ios - iPad 中的 UIPrintInteractionController 给我两个警告