在 NSTextView 中创建指向某些文本的超链接

发布于 2024-08-28 14:25:29 字数 231 浏览 15 评论 0原文

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

我不想创建指向某些外部 url 的超链接,但我希望能够创建指向 NSTextView 中某些文本的超链接。您知道如何在 Pages 中将某些文本设置为书签,然后可以创建指向该书签的超链接吗?有什么想法或例子可以说明如何做到这一点吗?

I can create a hyperlink to some url in an NSTextView using the "Link Panel". Or I can add a link manually using the NSLinkAttributeName attribute of NSAttributedString.

I don't want to make a hyperlink to some external url though, I want to be able to create a hyperlink to some text within the NSTextView. Do you know how in Pages you can set some text as a Bookmark, and then you can make a hyperlink to that bookmark? Any ideas or examples of how to go about that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情仇皆在手 2024-09-04 14:25:29

我已经有一段时间没有这样做了,所以对此持保留态度,但它是这样的:

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

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

I haven't done this in a while so take this with a grain of salt but it goes something like:

  1. You need to define a protocol for you app to handle URLs. It will look something like "myApplicationName://aPath"
  2. In the apps Info.plistfile add the protocol under CFBundleURLTypes key.
  3. Write code for the app to respond to openURL from NSWorkspace. This means the app will have to understand how to convert a URL style path to a specific location in one of its documents.

I think the best method for handling the URL path is to assign a UUID to each document and then a numeric scheme to the paragraph and sentences. The URL ends up looking like: myApplicationName://UUID/paragraphNumber/sentenceNumber/wordNumber. Alternatively you can insert hidden text to define an anchor and just search for that anchor.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文