我已经有一个 UILabel ,它的换行模式设置为截断尾部。问题是我有一个没有换行符的字符串。
UILabel 是否有一种简单的方法可以在字符串中添加断线?
示例:“这是一个适合 2 行的长字符串”--添加换行符-->“这是一个适合 2 行的长字符串\n”
或者我是否必须创建一个函数来计算,给定宽度和中断模式,在哪里插入中断线?
谢谢!
将 \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 行。因为我只有一个换行符...除非文本换行,然后一行会换行。另一个会在中间截断。
UITextView
对于简单的多行文本来说,这可能是一个更好的选择。如果您希望它是只读的,只需将editable
属性设置为。NO
我认为最好的答案是你不应该照顾断线。只需将文本提供给 UILabel,它就会根据其断线模式正确地打破它。
重要的是要记住 UILabel 不会自行调整大小。如有必要,您必须增加其高度,然后分配文本。或者做这两件事都覆盖 setText: 方法。