【问题标题】:Break line on max width text UILabel swift 2在最大宽度文本上换行 UILabel swift 2
【发布时间】:2016-01-14 10:43:18
【问题描述】:

我目前正在尝试制作一个应用程序,该应用程序采用某些人的用户名并将它们打印在标签内的自定义单元格中。 但是如果一个用户的名字叫“John Goodwilkinson”,那就是一个大名, 所以我想弄清楚如何制作一个

/n

在两个词之间。

有人知道吗? 我用谷歌搜索,但根本找不到任何东西。 下面你可以看到我的代码截图和小伙伴们的建议:)

我还尝试将代码放在我称之为自定义单元格的视图控制器中

 cell.frndName.numberOfLines = 0
 cell.frndName.lineBreakMode = .ByWordWrapping

但它也不起作用

【问题讨论】:

  • 你能发布一些关于你尝试过的代码吗?结果如何?
  • 如果你只想在标签中换行,那么你可以使用:label.numberOfLines = 2 label.lineBreakMode = .ByWordWrapping
  • @levantAJ 我把覆盖 'func awakeFromNib() { super.awakeFromNib() frndImg.layer.cornerRadius = 32 frndImg.layer.masksToBounds = true frndName.numberOfLines = 2 frndName.lineBreakMode = 。 ByWordWrapping }' 因为它是一个自定义单元格,但它不起作用。有什么想法吗?!
  • 对不起,你可以试试 frndName.numberOfLines = 0 吗?

标签: ios autolayout swift2 uilabel


【解决方案1】:

您可以通过将标签的行数设置为20(如果您想设置为任何数字)并将换行符设置为自动换行来做到这一点。 链接这个

更新 检查你的用户界面后。最终删除了高度/宽度约束并从底部/右侧固定标签,其他控制器解决了这个问题。

【讨论】:

  • 感谢您的回答,我已经尝试过了,但它并没有打破界限!
  • 您能否分享一些用户界面的代码/屏幕截图,以便弄清楚发生了什么?
  • @KwnstantinosNatsios 它不会中断,因为标签没有足够的高度来展开。你需要给单元格更多的高度或使高度动态。因此,在标签想要分成 2 行的情况下,它会找到足够的空间。正如您在屏幕截图的调试区域中看到的那样,由于单元格高度为 155,您遇到了自动布局问题。
  • 我给了单元格更高的高度,但仍然没有断线
  • 您对名称标签有高度限制吗?如果是,请删除它或给它更大的常数。
【解决方案2】:

你必须增加你的 UILabel 的高度并且只为它的宽度应用常量。

第二件事你可以通过NSString *newUsername = [oldUsername stringByReplacingOccurrencesOfString:@" " withString:@“\n”];添加@“\n”

它将两个单词之间的所有空格替换为@“\n”,下一个单词将显示在下一行。

【讨论】:

  • 他在使用 Swift 时为什么要在 Obj-C 中回答?
猜你喜欢
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多