1

我可以使用“链接面板”在 NSTextView 中创建指向某个 url 的超链接。或者我可以使用 NSAttributedString 的 NSLinkAttributeName 属性手动添加链接。

不过,我不想创建指向某些外部 url 的超链接,我希望能够创建指向 NSTextView 中某些文本的超链接。您知道如何在 Pages 中将一些文本设置为书签,然后您可以创建指向该书签的超链接吗?关于如何去做的任何想法或例子?

4

1 回答 1

2

我有一段时间没有这样做了,所以把它和一粒盐放在一起,但它是这样的:

  1. 您需要为您的应用程序定义一个协议来处理 URL。它看起来像“myApplicationName://aPath”
  2. 在应用程序文件中添加keyInfo.plist下的协议。CFBundleURLTypes
  3. 为应用程序编写代码以响应openURLNSWorkspace。这意味着应用程序必须了解如何将 URL 样式路径转换为其文档之一中的特定位置。

我认为处理 URL 路径的最佳方法是为每个文档分配一个 UUID,然后为段落和句子分配一个数字方案。URL 最终看起来像:myApplicationName://UUID/paragraphNumber/sentenceNumber/wordNumber. 或者,您可以插入隐藏文本来定义锚点,然后搜索该锚点。

于 2010-04-11T13:56:18.840 回答