【macOS】【Swift】【RTF】黑色文字在macOS深色外观下看不清的解决方法

【macOS】【Swift】【RTF】黑色文字在macOS深色外观下看不清的解决方法

遇到这个问题,

Cursor高效率地忙乎了一个小时,给出了很多方案并做了修改,但都没生效。

kimi还给出了:在深色外观下,将黑色文字转成白色;保存时,再反转的方法。

我都感觉:不是我当前App所需要的效果。

==========

最后,找到很简单的方法,一行代码即可。

当macOS的外观设置为深色时,

RTF文件读取后,如果文字也是黑色,则无法看清楚。

简单的解决方法是:

复制代码
/// AppKit封装,SwiftUI中显示NSAttributedString
struct RTFTextView: NSViewRepresentable {
    let attributedString: NSAttributedString
    func makeNSView(context: Context) -> NSTextView {
        let textView = NSTextView()
        textView.isEditable = false
        textView.textStorage?.setAttributedString(attributedString)
        
        //设置RTF文字的背景:透明
        //textView.backgroundColor = NSColor.clear
        
        //设置RTF文字的背景:浅灰色
        textView.backgroundColor = NSColor.lightGray
        
        //设置RTF文字的背景:保持浅色背景(不用macOS的外观,防止黑色外观时,黑色文字看不清)
        //textView.appearance = NSAppearance(named: .aqua)
        
        return textView
    }
    func updateNSView(_ nsView: NSTextView, context: Context) {
        nsView.textStorage?.setAttributedString(attributedString)
    }
}

shense

相关推荐
10086love1001013 小时前
Macos安装codex
macos
ryanuo719 小时前
Mac(M芯片)上进行嵌入式开发遇到的问题
嵌入式硬件·macos·开发板
不爱记笔记20 小时前
苹果WWDC 2026全解析:Apple Intelligence+ 性能提升数据一览
macos·ios·wwdc
小小程序员mono1 天前
WWDC 2026 之后,M5 桌面 Mac 上市时间预测
macos·ios·wwdc
yuguo.im1 天前
Mac M4 安装 sd-webui 踩坑全记录
macos·stable diffusion
守城小轩1 天前
Chromium 146 编译指南 macOS篇:获取源代码(四)
macos
comcoo1 天前
避坑指南:OpenClaw v2.7.9 Windows/macOS 零基础安装全过程
人工智能·windows·macos·github·开源软件·open claw·open claw部署包
robinLi09131 天前
docker mac 下载不同系统架构镜像
macos·docker·容器
卡卡西Sensei1 天前
2026 苹果 WWDC 完整总结
macos·ios·wwdc
Tr2e2 天前
🐱 从 0 到 1:用 Swift 手搓一个 macOS 桌面宠物(附源码)
macos·ios·swift