当前位置: 首页 > backend >正文

【macOS】【Swift】不让App采用macOS的外观风格,直接保持白色背景,怎么处理?

【macOS】【Swift】不让App采用macOS的外观风格,直接保持白色背景,怎么处理?

如果你希望你的 macOS App 显示的文字不跟随系统的浅色/深色模式

而是始终使用白色背景(即强制浅色模式),

你可以通过设置 App 或特定视图的 appearance 来实现。


✅ 方法一:设置整个 App 为浅色外观

在你的 App 启动时(例如 AppDelegateapplicationDidFinishLaunching 方法中),设置:

NSApp.appearance = NSAppearance(named: .aqua)

这会让整个 App 强制使用浅色外观,无论系统设置是浅色还是深色模式


✅ 方法二:只设置某个视图为浅色外观

如果你只想让某个视图(例如 NSTextView)保持浅色背景,可以只设置该视图的 appearance

textView.appearance = NSAppearance(named: .aqua)

这样其他部分仍然可以跟随系统外观,只有这个视图保持浅色。


✅ 方法三:在 SwiftUI 中设置(如果使用的是 SwiftUI)

import SwiftUI@main
struct MyApp: App {var body: some Scene {WindowGroup {ContentView().preferredColorScheme(.light) // 强制浅色模式}}
}

✅ 效果

  • App 或视图始终使用浅色外观。

  • 背景为白色,文字为黑色。

  • 用户即使在系统设置中启用了深色模式,App 也不会变暗。


✅ 总结

方式适用范围代码示例
设置整个 App 为浅色全局NSApp.appearance = NSAppearance(named: .aqua)
设置某个视图为浅色局部textView.appearance = NSAppearance(named: .aqua)
SwiftUI 强制浅色SwiftUI App.preferredColorScheme(.light)

✅ 推荐方案

  • 如果你希望整个 App 始终保持白色背景,推荐设置:
    NSApp.appearance = NSAppearance(named: .aqua)

  • 如果你只想让 RTF 阅读区域保持白色背景,只设置:
    textView.appearance = NSAppearance(named: .aqua)
    即可。


http://www.xdnf.cn/news/15023.html

相关文章:

  • 区块链平台以太坊核心原理
  • [Backlog] 核心协调器 | 终端用户界面(TUI)实现 | 多分支任务冲突解决 | 测试验证体系
  • 以太坊智能合约核心技术解析与应用实践
  • Energy-Based Transformers:实现通用系统2思维的新范式
  • docker部署华为高斯数据库opengauss(arm版本)
  • python作业 1
  • 如何通过配置gitee实现Claude Code的版本管理
  • 网络请求与现实生活:用办理业务类比理解HTTP通信
  • Linux 测开:日志分析 + 定位 Bug
  • Android-重学kotlin(协程基础)新学习总结
  • 安卓10.0系统修改定制化____修改ROM 实现自动开启USB 安装选项
  • UI前端与数字孪生融合新领域拓展:智慧教育的虚拟实验室建设
  • UI前端大数据处理性能评估与优化:基于负载测试的数据处理能力分析
  • Python管理咨询数据可视化实战:收入分布与顾问利用率双轴对比图表生成脚本
  • Amazon S3 对象存储服务深度解析:存储原理、应用场景与实战指南
  • 力扣网编程150题:加油站(贪心解法)
  • 第四节 chatPDF
  • Java-----韩顺平单例设计模式学习笔记
  • Ubuntu防火墙缺失问题(unit firewalld.service could not be found, ubuntu 22)
  • 小赛安全智脑×动态MCP Server:让组件API对接像搭积木一样简单
  • 闲庭信步使用图像验证平台加速FPGA的开发:第七课——获取RAW图像
  • 首批|美创智能数据安全分类分级平台获CCIA“网络安全新产品”
  • 聚铭安全管家平台2.0实战解码 | 安服篇(二):无人值守自动化封禁
  • Docker 高级管理--容器通信技术与数据持久化
  • HUAWEI HiCar6.0的新变化
  • Git 详解:从概念,常用命令,版本回退到工作流
  • 多信息流展示利器 - 利用FeedCard优化企业通知与公告发布
  • 征程 6|工具链量化简介与代码实操
  • 基于Java+SpringBoot 协同过滤算法私人诊所管理系统
  • STM32第十八天 ESP8266-01S和电脑实现串口通信