我想在包含标题和段落的ios应用中撰写视图。它看起来很像带有h1标签和p标签的HTML页面,我如何让它们在iOS中看起来像那样?我应该使用什么控件?我更喜欢使用UI Builder而不是代码中的动态对象的答案。
我尝试使用标签,但效果不佳。
答案 0 :(得分:1)
为什么标签不起作用?我建议继承子类UIView来保存两个标签(标题和段落)并适当地设置它们的样式。如果您需要进一步的建议,您需要指明标签的问题以及您要完成的具体内容。
答案 1 :(得分:1)
这样做的长期方法是使用多个标签(UILabel),每个标签都有不同的样式/字体/颜色。这并不难,但是对于多行标签,iOS会尝试垂直居中,因此您必须使用sizeWithFont:forWidth:lineBreakMode:
在代码中布置标签的高度,然后您必须正确定位标签在代码中。
我必须强调,这并不难。这很乏味但很有效。
然而,在iOS 6中,问题已经完全解决:您可以使用NSAttributedString。这允许您创建一个字符串,该字符串由不同样式/字体/颜色的多个段落组成,这是我们之前尝试使用多个UILabel对象进行模拟的真实方式。你可以决定边距,段落间距等等 - 整个作品。太棒了。
我建议您观看有关iOS 6中属性字符串的WWDC 2012视频。但是,不要相信他们重复的口头禅,UILabel是您显示属性字符串的力量所在。我发现,例如,在重写我的应用程序时,多字段归因字符串并不总能很好地与UILabel一起使用。所以我发现使用新的NSAttributedString drawRect:
方法直接在自定义视图的drawWithRect:options:context:
中绘制属性字符串是最简单的。