Cocoa Touch:显示结构化文档

时间:2011-03-14 11:51:15

标签: iphone cocoa cocoa-touch

我是Cocoa的新手,我在谷歌上搜索设计iPhone应用程序的最佳方式时遇到了麻烦。

此应用程序用于查看舞台剧。它应该打印脚本,使得字符标题居中,小字幕,比如说,舞台方向是斜体等。它还应该允许一个字符的行突出显示(即动态格式化)。

查看this question看起来NSTextView / NSTextStorage将提供我想要的格式要求,我只是对如何从基础数据构建视图感到困惑。< / p>

我现在想的是我的源代码将是以下列形式的XML:

<script>
  <dialogue character="bob">Hello Sue!</dialogue>
  <stageDirection>He moves to the table</stageDirection>
  <dialogue character="sue">Hello Bob!</dialogue>
</script>

哪个会输出类似于以下内容的内容:

      BOB
Hello Sue!

   He moves to the table

      SUE
Hello Bob!

如何从文档模型(XML / CoreData / ...)转到包含相当格式化文本的视图?

任何建议或指示都会很棒;我无法理解这个问题!

1 个答案:

答案 0 :(得分:1)

如果不需要交互性,那么我能想到的最简单的方法是生成HTML并使用UIWebView进行渲染。可以使用stringByEvaluatingJavaScriptFromString:

完成动态突出显示

<强>更新

接下来相对简单的选择是用单独的UILabel撰写样式文本。基本上你有一系列文本条目(提示,舞台方向等),每个都有自己的风格。我们创建了一个应用了样式的相应UILabel数组,然后在“脚本视图”上进行布局。之后我们可以将这个“脚本视图”放在UIScrollView中,就是这样。可以使用sizeWithFont:constrainedToSize:lineBreakMode:的{​​{1}}确定适合特定文字所需的标签尺寸。

还有可用的CoreText服务,但这是更高级的选项。