cocoa - 带有文本选择的 NSAttributedString 的 NSTextField 的奇怪行为
问题描述
我看到一些奇怪的行为,其中带有属性字符串的NSTextField在设置可选项并选择了某些文本时会丢失其属性(例如,某些文本是粗体并且不再是粗体)。
设置allowsEditingTextAttributes
为YES
似乎保留了粗体属性,但会更改颜色(从白色变为黑色)。
有简单的解决方法吗?
解决方案
BOOL allowsEditingTextAttributes
讨论
如果YES
,并且文本值是属性字符串,则使用属性字符串的视觉设置显示,可以在字体面板中修改。如果标志是NO
并且文本是属性字符串。字符串属性(字体、颜色等)被忽略,字符串根据文本字段的设置显示。显示字符串和编辑文本字段时,将忽略设置属性字符串的属性。
NSTextField中的文本选择由字段编辑器处理。不幸的是,字段编辑器没有考虑文本字段的字体和颜色设置。
为此,属性字符串需要包含文本字段的字体和颜色设置。
推荐阅读
- java - Android - 如何从文件中获取字节以便发送它
- javascript - 单击图像后如何自动播放视频?
- c++ - CMake 为可重定位库自动生成的导出文件
- laravel - 如何使用 eloquent 在 laravel 中查询关系数据
- checkbox - 尝试根据彼此过滤两个组合框的选择时,如何处理 powerapps 中的循环引用错误?
- omnet++ - 如何在 omnet++ 中获取 cTopology?
- php - 在查询中使用 MySQL 函数后如何获取列名
- javascript - 获取 URL 中 / 之间的字符串
- asp.net-core - 如何更改基本网址?
- sparql - SPARQL 查询按标签过滤位置