我有一个NSTextView,已使用-setLinkTextAttributes:
方法为其设置了默认链接样式属性。这是我希望用于传出链接的样式。
在文本 View 中,我还具有可触发区域,这些区域可触发文本 View 内的功能。我已经将它们实现为链接。我希望这些样式的样式与传出链接无关。因此,编写代码的逻辑方法是这样的:
[attrStr addAttribute:NSLinkAttributeName
value:@"myapp://togglesomething"
range:hlRange];
[attrStr addAttribute:NSForegroundColorAttributeName
value:[NSColor yellowColor]
range:hlRange];
但是链接的颜色不会更改为我在此处设置的颜色。
所以问题是:
最佳答案
如果未在setLinkTextAttributes中显式设置NSForegroundColorAttributeName,则可以为单个链接范围覆盖此设置。
即只需设置:
[_textView setLinkTextAttributes:@{NSCursorAttributeName:[NSCursor pointingHandCursor]}];
然后像上面一样给链接范围上色。
关于macos - NSTextView范围的自定义链接颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17262251/