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