简而言之,我不想要原始文本,甚至不需要富文本。我想加载一个xml文档,其中包含文本部分的元数据,我想在单击给定文本部分时在抽屉中显示该元数据。超链接就是一个很好的例子;在网络应用程序中显然是微不足道的,但是虽然我不熟悉mac dev,但我似乎无法通过cocoa找到一种简单的方法来实现这一点。
有关一般策略的任何建议吗?似乎没有内置到界面构建器的HTML视图,或者我搞砸了。
答案 0 :(得分:2)
我不清楚你要做什么。 声音就像你想要加载XML文档,显示文本,以及在选择某些文本位时显示各种元数据。
如果是这种情况,您应该阅读Cocoa Text System。 NSTextStorage
类是NSMutableAttributedString
的子类,您可以将任意属性应用于任何文本范围。选择更改后,您可以获取所选范围内的属性并使用它来更新抽屉。 (顺便说一下,抽屉真的要走了。我建议使用不同的用户界面。基于NSSplitView
的界面现在更流行。)
当然,要构建NSTextStorage
,您需要使用NSXMLDocument
或NSXMLParser
来解析XML,但是您可以获得更多控制权并且看起来更多“可可样”。
您可以使用WebView
,这是Safari渲染器,但我认为您很难按照自己的方式显示文本。 Safari在没有XSLT的情况下渲染XML从未如此出色。