Objective c 在NSTextView中创建指向某些文本的超链接
我可以使用“链接面板”在NSTextView中创建指向某个url的超链接。或者,我可以使用NSAttributeString的NSLinkAttributeName属性手动添加链接Objective c 在NSTextView中创建指向某些文本的超链接,objective-c,cocoa,hyperlink,nstextview,Objective C,Cocoa,Hyperlink,Nstextview,我可以使用“链接面板”在NSTextView中创建指向某个url的超链接。或者,我可以使用NSAttributeString的NSLinkAttributeName属性手动添加链接 我不想创建指向某个外部url的超链接,但我希望能够在NSTextView中创建指向某个文本的超链接。您知道如何在页面中将某些文本设置为书签,然后创建指向该书签的超链接吗?有什么想法或例子可以说明这一点吗?我已经有一段时间没有这样做了,所以请恕我直言,但它是这样的: 你需要为你的应用程序定义一个协议来处理URL。它看起
我不想创建指向某个外部url的超链接,但我希望能够在NSTextView中创建指向某个文本的超链接。您知道如何在页面中将某些文本设置为书签,然后创建指向该书签的超链接吗?有什么想法或例子可以说明这一点吗?我已经有一段时间没有这样做了,所以请恕我直言,但它是这样的:
Info.plist
文件中,在CFBundleURLTypes
键下添加协议openURL
。这意味着应用程序必须了解如何将URL样式的路径转换为其文档中的特定位置李>
我认为处理URL路径的最佳方法是为每个文档分配一个UUID,然后为段落和句子分配一个数字方案。URL最终看起来像:
myApplicationName://UUID/paragraphNumber/sentenceNumber/wordNumber
。或者,您可以插入隐藏文本来定义锚定,只需搜索该锚定。这很有趣。谢谢我可以通过UUID的想法来了解如何在文档之间,而不仅仅是在文档中实现这一点。我的程序是一个基于核心数据的程序,所以我只需要NSTextView来显示适当的数据库条目(无NSWorkspace内容)。我认为最终文档中隐藏的锚是最好的主意,因为段落编号/句子编号/单词编号的想法会随着文档文本的变化而变得混乱。你知道如何将隐藏锚插入NSAttribute字符串吗?我还没有研究过。只需在NSAttributedString中插入一个自定义属性。您不需要使用内置属性,您可以定义自己的属性。谢谢大家。我在路上。我设置了一个自定义url方案。似乎我需要注册kAEGetURL applescript事件,如步骤1到3所示,以便在我的应用程序中接收url:。现在,我将致力于实现一个书签方案,以在NSTributedString中设置锚。然后,我将编写解析代码来处理传递的url,并根据需要选择书签。这太酷了!