Cocoa:创建自定义 TextView

标签 cocoa

简而言之,我不需要原始文本,甚至不需要富文本。我想加载一个 xml 文档,其中包含文本部分的元数据,并且当我单击给定的文本部分时,我想在抽屉中显示该元数据。超链接就是一个很好的例子;在网络应用程序中这显然是微不足道的,但是虽然我对 mac 开发没有那么丰富的经验,但我似乎找不到一种简单的方法来使用 cocoa 来完成此任务。

关于总体策略有什么建议吗?界面生成器中似乎没有内置 HTML View ,否则我会弄乱它。

最佳答案

我不太清楚你想做什么。 听起来就像您想要加载 XML 文档、显示文本并在选择某些文本位时显示各种元数据。

如果是这种情况,您应该阅读 Cocoa Text SystemNSTextStorage 类是 NSMutableAttributedString 的子类,您可以将任意属性应用于任何范围的文本。当选择发生变化时,您可以获得所选范围内的属性并使用它来更新抽屉。 (顺便说一句,抽屉确实已经过时了。我建议采用不同的用户界面。现在基于 NSSplitView 的界面更加流行。)

当然,要构建 NSTextStorage,您需要使用 NSXMLDocumentNSXMLParser 解析 XML,但您可以获得更多控制,它看起来会更“像 cocoa ”。

您可以使用 WebView,它是 Safari 渲染器,但我认为您很难让它按照您想要的方式显示文本。 Safari 在没有 XSLT 的情况下渲染 XML 方面一直表现不佳。

关于Cocoa:创建自定义 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1492177/

相关文章:

objective-c - 如何处理 "too many HTTP redirects"错误

macos - 访问 NSColorPanel 的底部/自定义颜色

objective-c - 不使用 memcpy 建立流

cocoa - 隐藏 NSScrollView 的滚动条

swift - NSMenuItem 给出的 bool 变量

cocoa - 未知类 '_FITagEditorView' 错误 : is this normal?

xcode - XIB 中的 NSSplitViewController/NSSplitViewItem 支持

cocoa - NSImage 中常量的图像文件位于哪里?

swift - 监控 OS X 上的应用程序切换

cocoa - 显示 NSOpenPanel 时设置AllowedFileTypes