如何为 UILabel 的多行添加缩进?

nic*_*cks 3 uikit uilabel xamarin.ios ios

虽然我找到了如何向第一行 (FirstLineHeadIndent) 和其余行 (HeadIndent) 添加缩进,但我找不到如何仅向前两/三行添加缩进以实现如下所示的效果: MS 画图万岁!

PS:这不是重复的,因为我没有像一位用户建议的那样询问如何仅缩进第一行

ins*_*_60 5

您需要将UILabel文本设置为Attributed故事板中的字符串。

然后,您可以编辑每行的缩进,还可以粘贴使用文本编辑器创建的任何文本,它将保留其缩进以及其他属性。

您当然可以通过编程方式操作这些属性,下面是一个示例:

@IBOutlet weak var label: UILabel!
 let text = "\tfirst line\n \tsecond line\nthird line\nforth line"

 let paragraphStyle = NSMutableParagraphStyle()
 paragraphStyle.tabStops = [NSTextTab(textAlignment: NSTextAlignment.left, location: 15, options: [:])]
 paragraphStyle.headIndent = 10

 label.attributedText = NSAttributedString(string: text, attributes: [NSParagraphStyleAttributeName: paragraphStyle])
Run Code Online (Sandbox Code Playgroud)

以下是如何配置它的示例:

在此输入图像描述

以下是如何配置缩进:

在此输入图像描述

这是模拟器上的示例:

在此输入图像描述