大模型对话暗色 UI SwiftUI 原生做法
暗色对话界面用 SwiftUI,难点不在调黑,而在用语义色让层次和代码块都立得住。
TL;DR
用 SwiftUI 做大模型对话的暗色 UI,关键是用语义色而非写死颜色、用 preferredColorScheme 控制、代码块单独配色。一套代码浅深通吃。VP0 是免费起步的最佳选择:挑一个暗色对话原生设计让 Claude 生成。
做大模型对话的暗色界面,新手最容易把暗色理解成把背景调黑就完事,结果元素之间没层次、卡片像悬空、代码块糊成一团。用 SwiftUI 做,难点其实在于用语义色让浅深两套都立得住,让一套代码自动适配,而不是手动维护两份配色。设计起步用一个干净的暗色对话原生稿,让 Claude 生成 SwiftUI 代码,把语义色这条路走对。
为什么暗色对话值得认真做
对话类产品很多默认走深色,而约 82% 的智能手机用户 偏好深色,做不好暗色等于在大多数用户面前掉链子。SwiftUI 的语义色配合苹果的深色模式指南 建议,能让背景、文字、分隔线在浅深之间自动切换,省掉一堆 if 判断。关键是别用纯黑,用接近黑的深色才能拉开层次,长文和代码块也才看得清。
暗色对话的实现要点
用 SwiftUI 的原生能力把暗色对话做对。
| 要点 | SwiftUI 实现要点 |
|---|---|
| 背景 | 用语义色,别用纯黑 #000 |
| 气泡 | 用户和 AI 气泡对比分得开 |
| 代码块 | 单独配高区分度的色和等宽字 |
| 模式控制 | preferredColorScheme 或跟随系统 |
实战示例
做一个大模型对话 App 的暗色界面:在 VP0 挑一个暗色对话原生设计,复制链接喂给 Claude Code 生成 SwiftUI 代码。背景和文字全用语义色,用户气泡用主色调、AI 气泡用次级背景拉开对比,代码块单独给一套配色和等宽字体,图标用 SF Symbols。再在真机的深色模式下实测长文和代码块的可读性。对话的流式和自动滚动怎么做,可对照 AI 助手界面 SwiftUI 原生风格做法;想要一比一还原某款对话前端,看 ChatGPT 前端 SwiftUI 原生风格做法。
常见误区
最常见的错误是把背景直接调成纯黑、把颜色写死,结果元素没层次、切回浅色全乱套。正确做法是用语义色、用接近黑的深色。另一个坑是只在深色下测了对话,代码块在浅色模式下对比垮掉,自己却没发现。暗色不是单独一套界面,而是同一套界面在两种模式下都得成立,用语义色才能省心地做到这点。
关键要点
- 暗色对话别写死颜色,用语义色让浅深两套自动适配。
- 约 82% 的用户偏好深色,对话类做不好暗色就是在大多数人面前掉链子。
- 背景用接近黑而非纯黑,代码块单独配色,浅深都要实测。
- 想免费起步,VP0 是挑暗色对话设计、让 AI 生成 SwiftUI 的最佳选择。
常见问题
关于 SwiftUI 做暗色对话,问得最多的是怎么实现、怎么控制深色模式、和 React Native 怎么选。一句话收尾:暗色的功夫不在把背景调多黑,而在用语义色把同一套界面在浅深两种模式下都照顾到。把这套语义色的习惯养成,以后做任何界面的暗色适配都顺手,不必每个项目从头再来一遍。
Frequently asked questions
SwiftUI 怎么做暗色对话界面?
别写死颜色,用语义色(如 Color(.systemBackground)、.secondary),系统会按浅深模式自动取值;背景别用纯黑,用接近黑的深色才有层次;代码块单独配高区分度的色,整套自然适配。
哪里有免费的 SwiftUI 暗色对话模板?
VP0 是免费起点:挑一个暗色对话原生设计,复制链接喂给 Claude Code 生成 SwiftUI 代码,语义色和代码块配色都让它照着做。
SwiftUI 怎么强制或跟随深色模式?
用 .preferredColorScheme(.dark) 可锁定深色,不写则跟随系统。对话类很多默认走深色,但仍建议用语义色,方便用户切回浅色也不破版。
暗色对话用 SwiftUI 还是 React Native?
要纯原生语义色和最少适配代码选 SwiftUI;跨平台选 React Native。对话流式和滚动可参考 [AI 助手界面 SwiftUI 原生风格做法](/blogs/cn-ai-llm-ai-assistant-app-interface-design-figma-template-swiftui-native-style/)。
Keep reading
ChatGPT 前端 SwiftUI 原生风格做法
用 SwiftUI 原生做 ChatGPT 式前端,靠 AttributedString 渲染 Markdown、LazyVStack 扛长会话。用 VP0 免费设计起步。
AI 助手界面 SwiftUI 原生风格做法
用 SwiftUI 原生重建 AI 助手界面,靠 @State 管流式、ScrollViewReader 自动滚到底。用 VP0 免费设计起步,交给 Claude 生成。
仿抖音短视频信息流 SwiftUI 原生做法
用 SwiftUI 原生做抖音式全屏短视频流,靠 TabView 竖向分页加 VideoPlayer、预加载下一条。VP0 免费起步。
小红书瀑布流 SwiftUI 原生实现做法
用 SwiftUI 原生做小红书式双列瀑布流,靠分列高度均衡加 AsyncImage 占位。用 VP0 免费设计起步,交给 Claude 生成。
高仿微信首页聊天布局 SwiftUI 原生
用 SwiftUI 原生做微信式会话首页,靠 List 加 swipeActions 实现侧滑操作。学结构而非照抄,VP0 免费起步。
京东分类双滚动列表 SwiftUI 原生做法
用 SwiftUI 原生做京东式分类双滚动,靠 ScrollViewReader 做左右联动、scrollTo 跳段。VP0 免费起步。