处理UILabel文本对齐的优雅方式?

时间:2013-01-21 13:16:46

标签: ios uilabel uitextview text-alignment

我正在开发iOS 6中的应用并使用Xcode 4.5.2。

我有一个简单的 UIView ,其中包含一些根据可本地化字符串的文本。那么,根据显示的语言,文本的行数正在变化。例如,在英语中,有两行,但在土耳其语中,它只需要一行。

我也应该以文本对齐为中心。好吧,现在我能够完成它,但我使用了两个不同的 UILabel ,我手动设置了它们的文本。因此,如果我更改文本Simple image

的显示语言,它将无效

所以,

1 - 处理此类对齐问题的最佳方法是什么?

2 - 假设我使用UILabel,那么如何使新线能够获得如图所示的输出。线路中断模式似乎都不起作用。同样的问题,如果我使用UITextView

提前致谢

2 个答案:

答案 0 :(得分:1)

做这些事

  1. 将您的行数设置为0。
  2. 制作文字对齐中心。
  3. 在您希望换行的字符串中插入 \n 字符。
  4. 确保设置UILabel
  5. 的宽度

    默认情况下,当文本达到lablel的宽度时,它会移动到下一行,但是在它达到宽度之前你想要的是它应该移动到下一行,这是通过设置UILabel的属性无法实现的。为此,您必须在字符串中设置换行符。

答案 1 :(得分:0)

您是否尝试过使用UILabel实例方法textRectForBounds:limitedToNumberOfLines:

来自文档:

  

值0表示没有最大行数并且没有   矩形应包含所有文本。