UILabel左右对齐

M.S*_*leh 9 iphone cocoa-touch uilabel ios text-justify

我有UILabel(可可触摸框架),我想左右对齐它的文本.因此,它将拉伸文本内部.

示例:如果我有这个文本" 虽然节省了实际制造和运输成本 ",它将如下所示:

"While the saved"
"c o s t s   o f"
"p h y s i c a l"
 "manufacturing"
"a n d  shipping"
Run Code Online (Sandbox Code Playgroud)

正如你可以看到左右对齐......

我怎么能实现那个???

非常感谢

  • 对不起,我不得不提出双重问题来发布问题.

Ali*_*are 9

你应该使用我的OHAttributedLabel班级.

它具有显示所需的一切NSAttributedString,包括左,中,右...... 和对齐,并且使用起来非常简单.

你可以在github上找到它.请参阅提供的示例代码,其中还说明了如何更改文本对齐方式.

// suppose that label is an IBOutlet to an OHAttributedLabel (subclass oh UILabel)
label.textAlignment = UITextAlignmentJustify; // and that's all, OHAttributedLabel does everything needed for you!
Run Code Online (Sandbox Code Playgroud)

(注意:UITextAlignmentJustify是OHAttributedLabel头文件中定义的常量,它匹配相应的CoreText常量以进行对齐.这个常量在Apple的SDK中不存在)


[编辑] iOS6 SDK

从iOS6 SDK开始,UITextAlignmentJustify它不再起作用并在运行时生成崩溃.现在,您应该设置自己的文本对齐方式,NSAttributedString而不是使用textAlignment标签的属性.