惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
IT之家
IT之家
S
SegmentFault 最新的问题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Threatpost
Cyberwarzone
Cyberwarzone
AWS News Blog
AWS News Blog
博客园 - 司徒正美
C
Cyber Attacks, Cyber Crime and Cyber Security
Latest news
Latest news
S
Secure Thoughts
S
Schneier on Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cisco Blogs
Attack and Defense Labs
Attack and Defense Labs
S
Security Affairs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hacker News: Ask HN
Hacker News: Ask HN
大猫的无限游戏
大猫的无限游戏
博客园_首页
S
Security @ Cisco Blogs
C
CXSECURITY Database RSS Feed - CXSecurity.com
A
Arctic Wolf
AI
AI
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
Project Zero
Project Zero
P
Proofpoint News Feed
T
Tor Project blog
P
Privacy International News Feed
阮一峰的网络日志
阮一峰的网络日志
博客园 - 聂微东
月光博客
月光博客
Forbes - Security
Forbes - Security
量子位
I
Intezer
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
P
Proofpoint News Feed
T
The Exploit Database - CXSecurity.com
腾讯CDC
N
Netflix TechBlog - Medium
www.infosecurity-magazine.com
www.infosecurity-magazine.com
L
Lohrmann on Cybersecurity
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

看川博客

我被 AI "蒸馏" 了 - 看川博客 距离上线只差一个软件著作权证书 - 看川博客 开发简报(2):开发者需要先进的工具 - 看川博客 比越狱更棘手!iOS vPhone 虚拟机成黑灰产新温床 - 看川博客 开发简报(1):拥抱 AI、别无选择 - 看川博客 糟糕!我的 OpenClaw 中了病毒 - 看川博客 今天你用了多少词元? - 看川博客 闪忆 LiveMem:把回忆做成会动的壁纸 - 看川博客 Swift 从 ObservableObject 迁移到 @Observable 的再讨论 视频帧截图(Video2Frame)专业视频抽帧截图工具 - 看川博客 录音记事本 - 专业安全的录音工具 App - 看川博客 Swift 从 ObservableObject 迁移到 @Observable 从 Apple Distribution Managed 证书提取备案所需公钥和 SHA1 条码助手 iOS 2.0.0 升级指南 - 看川博客 SwiftUI Menu checkmark 文本对齐 - 看川博客 C++ RTTI 信息对二进制体积和安全性的影响 - 看川博客 读马伯庸《长安的荔枝》 - 看川博客 SwiftUI List selection 的使用提示 - 看川博客 PHP json_encode UTF-8 中文编码问题 - 看川博客 我为什么重新运营微信公众号 - 看川博客 使用 TrollStore(巨魔) 在非越狱设备上安装任意 IPA - 看川博客 条码助手小程序更新 - 看川博客 iOS 18 中 libdyld.dylib/dyld 的一些变化 涨粉神器?解密“抖音黑科技”云端商城 - 看川博客
SwiftUI 系统颜色表查询 - 看川博客
2025-03-17 · via 看川博客

在使用 SwiftUI 开发时,使用系统预置的颜色无论是在 UI 效果还是在可维护性上都是比较推荐的。这里原文转载一篇日语文章,展示了系统颜色值的一览表方便设计开发时查询取用。文章最后还提供了一个 Demo App 可用使用。

原文链接:[SwiftUI]Color, UIColor, Materialの一覧

SwiftUIで使用できる色

SwiftUIでは、
SwiftUIのColor

UIKitでのUIColor

Color(UIColor.systemOrange)

などを使って色を指定できます。

各値の数値を指定して、好きな色を作ることもできます。

//RGBと不透明度を指定
Color(red: 1.0, green: 0.58, blue: 0.0, opacity: 1.0)

//グレースケールと不透明度を指定
Color(white: 0.5, opacity: 1.0)

定義されている色を使用するメリット

先述したように色を自分で作ることもできますが、

などのように、基本的な色は定義されています。
定義されている色を使用することでライトモード、ダークモード、アクセシビリティの状態に応じて、自動的に最適な色に変化させることができます。

NameDefaultAccessible
.orangered: 1.0, green: 0.58, blue: 0.0, opacity: 1.0red: 0.79, green: 0.2, blue: 0.0, opacity: 1.0

またUIColorはApple純正のコンポーネントに使われている色を指定することができ、
SwiftUIにはない SearchBarなどを自作したい場合などに、純正とまったく同じ色に指定できます。

: Color

Standard colors

NameLightDark
.blackred: 0.0, green: 0.0, blue: 0.0, opacity: 1.0red: 0.0, green: 0.0, blue: 0.0, opacity: 1.0
.bluered: 0.0, green: 0.48, blue: 1.0, opacity: 1.0red: 0.04, green: 0.52, blue: 1.0, opacity: 1.0
.brownred: 0.64, green: 0.52, blue: 0.37, opacity: 1.0red: 0.67, green: 0.56, blue: 0.41, opacity: 1.0
.clearred: 0.0, green: 0.0, blue: 0.0, opacity: 0.0red: 0.0, green: 0.0, blue: 0.0, opacity: 0.0
.cyanred: 0.2, green: 0.68, blue: 0.9, opacity: 1.0red: 0.39, green: 0.82, blue: 1.0, opacity: 1.0
.grayred: 0.56, green: 0.56, blue: 0.58, opacity: 1.0red: 0.56, green: 0.56, blue: 0.58, opacity: 1.0
.greenred: 0.2, green: 0.78, blue: 0.35, opacity: 1.0red: 0.19, green: 0.82, blue: 0.35, opacity: 1.0
.indigored: 0.35, green: 0.34, blue: 0.84, opacity: 1.0red: 0.37, green: 0.36, blue: 0.9, opacity: 1.0
.mintred: 0.0, green: 0.78, blue: 0.75, opacity: 1.0red: 0.39, green: 0.9, blue: 0.89, opacity: 1.0
.orangered: 1.0, green: 0.58, blue: 0.0, opacity: 1.0red: 1.0, green: 0.62, blue: 0.04, opacity: 1.0
.pinkred: 1.0, green: 0.18, blue: 0.33, opacity: 1.0red: 1.0, green: 0.22, blue: 0.37, opacity: 1.0
.purplered: 0.69, green: 0.32, blue: 0.87, opacity: 1.0red: 0.75, green: 0.35, blue: 0.95, opacity: 1.0
.redred: 1.0, green: 0.23, blue: 0.19, opacity: 1.0red: 1.0, green: 0.27, blue: 0.23, opacity: 1.0
.tealred: 0.19, green: 0.69, blue: 0.78, opacity: 1.0red: 0.25, green: 0.78, blue: 0.88, opacity: 1.0
.whitered: 1.0, green: 1.0, blue: 1.0, opacity: 1.0red: 1.0, green: 1.0, blue: 1.0, opacity: 1.0
.yellowred: 1.0, green: 0.8, blue: 0.0, opacity: 1.0red: 1.0, green: 0.84, blue: 0.04, opacity: 1.0

Semantic colors

NameLightDark
.accentColorred: 0.0, green: 0.48, blue: 1.0, opacity: 1.0red: 0.04, green: 0.52, blue: 1.0, opacity: 1.0
.primaryred: 0.0, green: 0.0, blue: 0.0, opacity: 1.0red: 1.0, green: 1.0, blue: 1.0, opacity: 1.0
.secondaryred: 0.24, green: 0.24, blue: 0.26, opacity: 0.6red: 0.92, green: 0.92, blue: 0.96, opacity: 0.6

: UIColor

UI element colors

Label colors

NameLightDark
.labelred: 0.0, green: 0.0, blue: 0.0, opacity: 1.0red: 1.0, green: 1.0, blue: 1.0, opacity: 1.0
.secondaryLabelred: 0.24, green: 0.24, blue: 0.26, opacity: 0.6red: 0.92, green: 0.92, blue: 0.96, opacity: 0.6
.tertiaryLabelred: 0.24, green: 0.24, blue: 0.26, opacity: 0.3red: 0.92, green: 0.92, blue: 0.96, opacity: 0.3
.quaternaryLabelred: 0.24, green: 0.24, blue: 0.26, opacity: 0.18red: 0.46, green: 0.46, blue: 0.5, opacity: 0.18

Fill colors

NameLightDark
.systemFillred: 0.47, green: 0.47, blue: 0.5, opacity: 0.2red: 0.47, green: 0.47, blue: 0.5, opacity: 0.36
.secondarySystemFillred: 0.47, green: 0.47, blue: 0.5, opacity: 0.16red: 0.47, green: 0.47, blue: 0.5, opacity: 0.32
.tertiarySystemFillred: 0.46, green: 0.46, blue: 0.5, opacity: 0.12red: 0.46, green: 0.46, blue: 0.5, opacity: 0.24
.quaternarySystemFillred: 0.45, green: 0.45, blue: 0.5, opacity: 0.08red: 0.46, green: 0.46, blue: 0.5, opacity: 0.18

Text colors

NameLightDark
.placeholderTextred: 0.24, green: 0.24, blue: 0.26, opacity: 0.3red: 0.92, green: 0.92, blue: 0.96, opacity: 0.3

Tint color

NameLightDark
.tintColorred: 0.0, green: 0.48, blue: 1.0, opacity: 1.0red: 0.04, green: 0.52, blue: 1.0, opacity: 1.0

Standard content background colors

NameLightDark
.systemBackgroundred: 1.0, green: 1.0, blue: 1.0, opacity: 1.0red: 0.0, green: 0.0, blue: 0.0, opacity: 1.0
.secondarySystemBackgroundred: 0.95, green: 0.95, blue: 0.97, opacity: 1.0red: 0.11, green: 0.11, blue: 0.12, opacity: 1.0
.tertiarySystemBackgroundred: 1.0, green: 1.0, blue: 1.0, opacity: 1.0red: 0.17, green: 0.17, blue: 0.18, opacity: 1.0

Grouped content background colors

NameLightDark
.systemGroupedBackgroundred: 0.95, green: 0.95, blue: 0.97, opacity: 1.0red: 0.0, green: 0.0, blue: 0.0, opacity: 1.0
.secondarySystemGroupedBackgroundred: 1.0, green: 1.0, blue: 1.0, opacity: 1.0red: 0.11, green: 0.11, blue: 0.12, opacity: 1.0
.tertiarySystemGroupedBackgroundred: 0.95, green: 0.95, blue: 0.97, opacity: 1.0red: 0.17, green: 0.17, blue: 0.18, opacity: 1.0

Separator colors

NameLightDark
.separatorred: 0.24, green: 0.24, blue: 0.26, opacity: 0.29red: 0.33, green: 0.33, blue: 0.35, opacity: 0.6
.opaqueSeparatorred: 0.78, green: 0.78, blue: 0.78, opacity: 1.0red: 0.22, green: 0.22, blue: 0.23, opacity: 1.0

Link color

NameLightDark
.linkred: 0.0, green: 0.48, blue: 1.0, opacity: 1.0red: 0.04, green: 0.52, blue: 1.0, opacity: 1.0

Nonadaptable colors

NameLightDark
.darkTextwhite: 0.0, opacity: 1.0white: 0.0, opacity: 1.0
.lightTextwhite: 1.0, opacity: 0.6white: 1.0, opacity: 0.6

Standard colors

Adaptable colors

NameLightDark
.systemBluered: 0.0, green: 0.48, blue: 1.0, opacity: 1.0red: 0.04, green: 0.52, blue: 1.0, opacity: 1.0
.systemBrownred: 0.64, green: 0.52, blue: 0.37, opacity: 1.0red: 0.67, green: 0.56, blue: 0.41, opacity: 1.0
.systemCyanred: 0.2, green: 0.68, blue: 0.9, opacity: 1.0red: 0.39, green: 0.82, blue: 1.0, opacity: 1.0
.systemGreenred: 0.2, green: 0.78, blue: 0.35, opacity: 1.0red: 0.19, green: 0.82, blue: 0.35, opacity: 1.0
.systemIndigored: 0.35, green: 0.34, blue: 0.84, opacity: 1.0red: 0.37, green: 0.36, blue: 0.9, opacity: 1.0
.systemMintred: 0.0, green: 0.78, blue: 0.75, opacity: 1.0red: 0.39, green: 0.9, blue: 0.89, opacity: 1.0
.systemOrangered: 1.0, green: 0.58, blue: 0.0, opacity: 1.0red: 1.0, green: 0.62, blue: 0.04, opacity: 1.0
.systemPinkred: 1.0, green: 0.18, blue: 0.33, opacity: 1.0red: 1.0, green: 0.22, blue: 0.37, opacity: 1.0
.systemPurplered: 0.69, green: 0.32, blue: 0.87, opacity: 1.0red: 0.75, green: 0.35, blue: 0.95, opacity: 1.0
.systemRedred: 1.0, green: 0.23, blue: 0.19, opacity: 1.0red: 1.0, green: 0.27, blue: 0.23, opacity: 1.0
.systemTealred: 0.19, green: 0.69, blue: 0.78, opacity: 1.0red: 0.25, green: 0.78, blue: 0.88, opacity: 1.0
.systemYellowred: 1.0, green: 0.8, blue: 0.0, opacity: 1.0red: 1.0, green: 0.84, blue: 0.04, opacity: 1.0

Adaptable gray colors

NameLightDark
.systemGrayred: 0.56, green: 0.56, blue: 0.58, opacity: 1.0red: 0.95, green: 0.95, blue: 0.97, opacity: 1.0
.systemGray2red: 0.68, green: 0.68, blue: 0.7, opacity: 1.0red: 0.39, green: 0.39, blue: 0.4, opacity: 1.0
.systemGray3red: 0.78, green: 0.78, blue: 0.8, opacity: 1.0red: 0.28, green: 0.28, blue: 0.29, opacity: 1.0
.systemGray4red: 0.82, green: 0.82, blue: 0.84, opacity: 1.0red: 0.23, green: 0.23, blue: 0.24, opacity: 1.0
.systemGray5red: 0.9, green: 0.9, blue: 0.92, opacity: 1.0red: 0.17, green: 0.17, blue: 0.18, opacity: 1.0
.systemGray6red: 0.95, green: 0.95, blue: 0.97, opacity: 1.0red: 0.11, green: 0.11, blue: 0.12, opacity: 1.0

Transparent color

NameLightDark
.clearwhite: 0.0, opacity: 0.0white: 0.0, opacity: 0.0

Fixed colors

NameLightDark
.blackwhite: 0.0, opacity: 1.0white: 0.0, opacity: 1.0
.bluered: 0.0, green: 0.0, blue: 1.0, opacity: 1.0red: 0.0, green: 0.0, blue: 1.0, opacity: 1.0
.brownred: 0.6, green: 0.4, blue: 0.2, opacity: 1.0red: 0.6, green: 0.4, blue: 0.2, opacity: 1.0
.cyanred: 0.0, green: 1.0, blue: 1.0, opacity: 1.0red: 0.0, green: 1.0, blue: 1.0, opacity: 1.0
.darkGraywhite: 0.33, opacity: 1.0white: 0.33, opacity: 1.0
.graywhite: 0.5, opacity: 1.0white: 0.5, opacity: 1.0
.greenred: 0.0, green: 1.0, blue: 0.0, opacity: 1.0red: 0.0, green: 1.0, blue: 0.0, opacity: 1.0
.lightGraywhite: 0.67, opacity: 1.0white: 0.67, opacity: 1.0
.magentared: 1.0, green: 0.0, blue: 1.0, opacity: 1.0red: 1.0, green: 0.0, blue: 1.0, opacity: 1.0
.orangered: 1.0, green: 0.5, blue: 0.0, opacity: 1.0red: 1.0, green: 0.5, blue: 0.0, opacity: 1.0
.purplered: 0.5, green: 0.0, blue: 0.5, opacity: 1.0red: 0.5, green: 0.0, blue: 0.5, opacity: 1.0
.redred: 1.0, green: 0.0, blue: 0.0, opacity: 1.0red: 1.0, green: 0.0, blue: 0.0, opacity: 1.0
.whitewhite: 1.0, opacity: 1.0white: 1.0, opacity: 1.0
.yellowred: 1.0, green: 1.0, blue: 0.0, opacity: 1.0red: 1.0, green: 1.0, blue: 0.0, opacity: 1.0

: Material

Viewのbackgroundなどを、すりガラス風の見た目にできます。

NameLightDark
.ultraThinMaterial
.thinMaterial
.regularMaterial
.thickMaterial
.ultraThickMaterial
.bar

色関連の便利そうなモノ

文字色をライトモードとダークモードで別の色を指定する方法

文字色をライトモードの時は赤色にダークモードの時は黄色にしています。

@Environment(\.colorScheme) private var colorScheme

var body: some View {
    VStack {
        Text("Hello, world!")
            .foregroundStyle(colorScheme == .dark ? Color.yellow: Color.red)
    }
}

↓colorschemeについての説明


Color, UIColorから色の要素を求める関数

func getColorElements(_ color: UIColor) -> (red: CGFloat?, green: CGFloat?, blue: CGFloat?, white: CGFloat?, opacity: CGFloat) {
    let components = color.cgColor.components!

    if components.count == 4 {
        return (red: components[0], green: components[1], blue: components[2], white: nil, opacity: components[3])
    } else {
        return (red: nil, green: nil, blue: nil, white: components[0], opacity: components[1])
    }
}

RGB値の色の場合

print(getColorElements(.orange))
// ↓戻り値
// (red: Optional(1.0), green: Optional(0.5), blue: Optional(0.0), white: nil, opacity: 1.0)

グレースケール値の色の場合

print(getColorElements(.gray))
// ↓戻り値
// (red: nil, green: nil, blue: nil, white: Optional(0.5), opacity: 1.0)

"SwiftUIで使用できる色"を確認できるアプリ

この記事で紹介したすべてのColor, Materialを実機で確認できるアプリをGitHubに公開しました。
ライトモード、ダークモード時のより詳しいRGB値や、アクセシビリティモード時のRGB値も確認できます。

github ColorChart