我是iPhone开发的新手,我对如何为我的应用程序创建视图提出了疑问。
视图应显示问题(使用格式化/语法突出显示的文本)和多个可能的答案。用户应该能够单击答案来验证它。
目前,我正在尝试使用UITableView嵌入UIWebView作为contentView。这使我可以轻松地显示格式化文本。 问题是,计算和调整单元格的高度是一种真正的痛苦。我必须预加载webview,调用sizeToFit,获取其高度,并相应地更新单元格。应该针对问题和答案执行此过程(因为它们也是HTML格式的文本)。
这是一种痛苦,我打算改用别的东西。我想只使用一个大的UIWebView并用HTML设计一切。但我查看了一些描述如何在HTML页面和ObjectiveC代码之间进行通信的文章。这似乎也涉及一些可怕的伎俩...
所以......就是这样,我真的不知道该怎么做。 我想你们中的一些人之前处理过这些事情,并会提供一些非常有用的提示:)
答案 0 :(得分:1)
这里的问题是iPhone API尚不支持NSAttributedString,因此您不能将文本设置为在textview中按照您的意愿显示。
我看到一个基本上使用单个UILabel表示每个属性运行的工作。 (现在找不到链接。)他们使用NSString UIKit扩展来计算视图上字符串的位置,然后使用它来定位标签。
另一种解决方法是将带有属性的字符串绘制到UIImage,然后只显示图像。这是我认为最简单的解决方案。
在任何一种情况下,您都必须基本上重新创建属性字符串的数据结构。
NSAttributedString为我们做了很多工作。当它消失时我们真的很想念它。