【问题标题】:NSTextView custom link color for range范围的 NSTextView 自定义链接颜色
【发布时间】:2013-06-23 15:25:05
【问题描述】:

我有一个 NSTextView,我使用 -setLinkTextAttributes: 方法为其设置了默认链接样式属性。这是我希望用于传出链接的样式。

在文本视图中,我也有触发文本视图内功能的可点击区域。我已将这些实现为链接。我希望这些样式独立于传出链接。所以写代码的逻辑方式是这样的:

[attrStr addAttribute:NSLinkAttributeName
                value:@"myapp://togglesomething"
                range:hlRange];

[attrStr addAttribute:NSForegroundColorAttributeName
                value:[NSColor yellowColor]
                range:hlRange];

但是链接的颜色并没有变成我这里设置的颜色。

所以问题是:

  1. 我可以更改单个链接的颜色吗?
  2. 如果不是,我可以创建一个充当链接而不是链接项的区域吗?

【问题讨论】:

    标签: macos cocoa nstextview


    【解决方案1】:

    如果您没有在 setLinkTextAttributes 中明确设置 NSForegroundColorAttributeName,您可以为各个链接范围覆盖此设置。

    即刚刚设置:

    [_textView setLinkTextAttributes:@{NSCursorAttributeName:[NSCursor pointingHandCursor]}];
    

    并像上面一样为您的链接范围着色。

    【讨论】:

      【解决方案2】:

      Chen Lim 的解决方案奏效了。

      [self.textView setLinkTextAttributes:@{NSForegroundColorAttributeName : [UIColor redColor],}];

      正如原始问题中指出的那样。我们可以为不同的链接设置不同的颜色吗? setLinkTextAttributes 设置所有链接的属性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-26
        • 2021-12-27
        • 1970-01-01
        • 1970-01-01
        • 2017-11-14
        • 2018-07-21
        相关资源
        最近更新 更多