iOS显示标题和段落

标签 ios

我想在 iOS 应用程序中编写一个包含标题和段落的 View 。它看起来很像带有 h1 标签和 p 标签的 HTML 页面,我如何使它们在 iOS 中看起来像那样?我应该使用什么控件?我更喜欢使用 UI Builder 而不是代码中的动态对象的答案。

我尝试过使用标签,但效果不佳。

最佳答案

执行此操作的长期方法是使用多个标签 (UILabel),每个标签具有不同的样式/字体/颜色。这并不困难,但对于多行标签,iOS 会尝试为您将文本垂直居中,因此您必须在代码中布置标签的高度,使用 sizeWithFont:forWidth:lineBreakMode:,以及那么您必须在代码中正确定位标签。

我必须强调,这并不难做到。这很乏味,但很管用。

但是,在 iOS 6 中,问题完全解决了:您可以只使用 NSAttributedString。这使您可以创建一个 字符串,该字符串由不同样式/字体/颜色的多个段落组成,这是一种真正实现我们之前尝试使用多个 UILabel 对象模拟的方法。您可以指定页边距、段落间距等 - 全部有效。太棒了。

我建议您观看有关 iOS 6 中的属性字符串的 WWDC 2012 视频。但是,不要相信他们反复强调的 UILabel 是您显示属性字符串的核心。例如,我发现在重写我的应用程序时,多段落属性字符串并不总是能很好地与 UILabel 配合使用。所以我发现通过使用新的 NSAttributedString drawWithRect:options:context: 方法直接在自定义 View 的 drawRect: 中绘制属性字符串最简单.

关于iOS显示标题和段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13569729/

相关文章:

ios - React Native 在为 TestFlight 发布 iOS 应用程序后进行更改和更新

ios - 两个UIDatePicker之间的间隔时间不同

ios - 创建第一个启动 View Controller

ios - 如何在 UIStackView 中同时垂直和水平居中

ios - 我很困惑类扩展中声明的任何方法是否是静态的

iOS:从后台线程创建 UIImage?

ios - 标签的持续时间

ios - iOS 上的 GMP 使用 gmp4osx

iphone - 对齐 UICollectionView 的最后一行

ios - 这会导致崩溃吗?或者我们也可以在 Swift 中向 nil 发送消息......?