gpt4 book ai didi

objective-c - NSTextView 和突出显示链接

转载 作者:行者123 更新时间:2023-12-03 17:35:40 28 4
gpt4 key购买 nike

我使用带有 NSAttributedStringNSTextView 来使用 NSLinkAttributeName 显示一些链接。我使用 NSTextViewsetLinkTextAttributes: 方法设置这些链接的样式。但是,我想在用户单击链接时向用户提供视觉反馈,例如,在用户按下鼠标左键时更改链接的颜色。有没有一种简单的方法可以做到这一点,或者我必须使用 NSTextAttachment 吗?

最佳答案

如果您希望它发生在 mouseDown 事件上,我认为没有简单的方法可以做到这一点。如果您可以等到单击完成,那么您可以使用 TextView 委托(delegate)方法 textView:clickedOnLink:atIndex: 来获取单击链接的索引。然后,您可以使用该索引传递给文本存储方法,attributesAtIndex: effectiveRange: 来获取链接的范围,最后,使用 setAttributes:range: 对链接的属性进行任何您想要的更改。

如果您确实需要在 mouseDown 上执行此操作,那么您必须对 TextView 进行子类化并覆盖 mouseDown,并且可能使用诸如 characterIndexForPoint: 之类的内容来查明您是否单击了链接并按上述方式进行响应。

关于objective-c - NSTextView 和突出显示链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9975254/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com