You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在使用NSString stringWithFormat的UILabel中正确插入换行符

UILabel换行失效、文本截断解决方法

问题根因

文本截断、\n换行后剩余内容消失的问题和主线程修改文本的逻辑无关,是UILabel的默认配置仅支持单行显示导致的。

解决步骤

方式1:在故事板中配置

  • 选中故事板内对应的UILabel控件,打开属性检查器(Attributes Inspector)
  • 将Lines属性从默认值1改为0,代表支持任意行数的多行文本显示
  • 将Line Break属性从默认的截断模式改为Word Wrap(按单词换行)或Character Wrap(按字符换行)
  • 检查控件的自动布局约束:不要固定UILabel的高度,仅固定左、上、右三个方向的边距即可,让控件高度可以随文本内容自动撑开

方式2:通过代码配置

你可以在视图加载的初始化方法(比如viewDidLoad)中添加以下配置代码:

// 允许显示无限多行
hello.numberOfLines = 0;
// 设置换行模式为按单词换行
hello.lineBreakMode = NSLineBreakByWordWrapping;

验证效果

完成上述配置后,你原本的主线程修改文本的代码不需要调整,\n换行符会正常生效,5秒后文本会自动分成两行完整显示,不会出现截断或内容消失的问题。

内容的提问来源于stack exchange,提问作者programcode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:24:00