2

我已经有一个 UILabel ,它的换行模式设置为截断尾部。问题是我有一个没有换行符的字符串。

UILabel 是否有一种简单的方法可以在字符串中添加断线?

示例:“这是一个适合 2 行的长字符串”--添加换行符-->“这是一个适合 2 行的长字符串\n”

或者我是否必须创建一个函数来计算,给定宽度和中断模式,在哪里插入中断线?

谢谢!

4

3 回答 3

3

将 \r\n 添加到字符串中。

这在字符 10 和字符 13 中连续出现。

这实际上是向系统发出回车和换行符的消息。这将告诉它把文本放在下一行:)

您还必须告诉标签允许多行。

UILabel *label; // We will assume this label exists.
label.numberOfLines = 3;
label.text = @"This String Breaks Here -->\r\nThis is on the next line";

即使我将标签设置为 3,标签也将有 2 行。因为我只有一个换行符...除非文本换行,然后一行会换行。另一个会在中间截断。

于 2012-06-23T01:31:31.723 回答
0

UITextView对于简单的多行文本来说,这可能是一个更好的选择。如果您希望它是只读的,只需将editable属性设置为。NO

于 2012-06-23T01:33:17.340 回答
0

我认为最好的答案是你不应该照顾断线。只需将文本提供给 UILabel,它就会根据其断线模式正确地打破它。

重要的是要记住 UILabel 不会自行调整大小。如有必要,您必须增加其高度,然后分配文本。或者做这两件事都覆盖 setText: 方法。

于 2012-07-03T20:43:08.827 回答