我是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 / ...)转到包含相当格式化文本的视图?
任何建议或指示都会很棒;我无法理解这个问题!
答案 0 :(得分:1)
如果不需要交互性,那么我能想到的最简单的方法是生成HTML并使用UIWebView
进行渲染。可以使用stringByEvaluatingJavaScriptFromString:
<强>更新强>
接下来相对简单的选择是用单独的UILabel
撰写样式文本。基本上你有一系列文本条目(提示,舞台方向等),每个都有自己的风格。我们创建了一个应用了样式的相应UILabel
数组,然后在“脚本视图”上进行布局。之后我们可以将这个“脚本视图”放在UIScrollView
中,就是这样。可以使用sizeWithFont:constrainedToSize:lineBreakMode:
的{{1}}确定适合特定文字所需的标签尺寸。
还有可用的CoreText服务,但这是更高级的选项。