我需要创建一个包含多种字体和图像的可滚动字段。那可能吗?我正在考虑将 UITextView 用于该字段,但我怀疑它能否完成我需要它做的事情。
1 回答
如果此字段不在 UITableView 中,那么最简单的解决方案是将您的内容组织在 html 文档中,然后将其呈现在适用于 iOS5 和 iOS6 的 UIWebView 中。字体可以通过 webfonts 处理并通过样式设置。css。否则,您将有一些工作要做。
您可以在此处了解网络字体:
https://developers.google.com/webfonts/docs/getting_started
对于 UITextField 中的富文本...
嗯,有好消息也有坏消息。好消息是在 iOS6 上很容易做到。这只是创建一个 NSAttributedString 并将字符串传递给 UITextView 的问题。文本应该按照您在 NSAttrbutedString 中描述的格式进行格式化。
如果你还没有使用过 NSAttributedString,你可以从这里开始学习它们:
如果您有 Apple 开发者帐户,请查看 WWDC 2012 视频:iOS 属性字符串简介
https://developer.apple.com/videos/wwdc/2012/
现在坏消息...这不包含在iOS5中。所以你必须a)使用CoreText之类的东西来构建你自己的自定义视图来呈现文本,b)平底船并使用UIWebView(表格视图中的一个可怕的想法),或者c)你可以查看一些其他的本土解决方案比如这些:
https://github.com/AliSoftware/OHAttributedLabel
https://github.com/enormego/EGOTextView#readme
还有更多,但你必须在谷歌上找到它们。
至于图像,只需将图像视图与文本视图一起组织即可。确保将所有内容都放在 UIScrollView 中,然后您就可以开始使用了。
祝你好运!