Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone Cocoa Touch:显示结构化文档_Iphone_Cocoa_Cocoa Touch - Fatal编程技术网

Iphone Cocoa Touch:显示结构化文档

Iphone Cocoa Touch:显示结构化文档,iphone,cocoa,cocoa-touch,Iphone,Cocoa,Cocoa Touch,我刚刚接触Cocoa,在谷歌上搜索设计iPhone应用程序的最佳方法时遇到了麻烦 此应用程序用于查看舞台剧。它应该很好地打印脚本,使角色标题居中,大写,舞台方向为斜体等等。它还应该允许突出显示一个角色的行(即动态格式) 从它看来,NSTextView/NSTextStorage将提供我想要的格式要求,我只是对如何从底层数据构造视图感到困惑 我认为目前我的源代码将是以下形式的XML: <script> <dialogue character="bob">Hello Su

我刚刚接触Cocoa,在谷歌上搜索设计iPhone应用程序的最佳方法时遇到了麻烦

此应用程序用于查看舞台剧。它应该很好地打印脚本,使角色标题居中,大写,舞台方向为斜体等等。它还应该允许突出显示一个角色的行(即动态格式)

从它看来,
NSTextView
/
NSTextStorage
将提供我想要的格式要求,我只是对如何从底层数据构造视图感到困惑

我认为目前我的源代码将是以下形式的XML:

<script>
  <dialogue character="bob">Hello Sue!</dialogue>
  <stageDirection>He moves to the table</stageDirection>
  <dialogue character="sue">Hello Bob!</dialogue>
</script>
如何从文档模型(XML/CoreData/…)转换为包含格式良好的文本的视图?


任何建议或指点都很好;我就是想不通这个问题

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

更新

下一个相对简单的选择是使用单个
UILabel
s组合样式化文本。基本上,你有一系列的文本条目(提示、舞台指示等),每个条目都有自己的风格。我们创建一个相应的
UILabel
s数组,并应用样式,然后在“脚本视图”上进行布局。之后,我们可以将这个“脚本视图”放在
UIScrollView
中,就这样。适合特定文本所需的标签大小可通过
NSString
sizeWithFont:constrainedToSize:lineBreakMode:
确定


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

如果可能,我宁愿使用Cocoa的原生文本格式方法,而不要使用HTML。这是我愿意研究的一个选择,我明白了。问题是,
NSTextView
在Cocoa Touch中的对应项是
UITextView
,它不支持文本部分的单独样式。我认为您的第二个选项是我要选择的。似乎最符合我的用例。谢谢:)NSTextView是cocoa类,在CocoaTouch中不可用。您不能在iPhone应用程序中使用此类。
      BOB
Hello Sue!

   He moves to the table

      SUE
Hello Bob!