【问题标题】:UILabel not displaying words after line break换行后UILabel不显示单词
【发布时间】:2013-09-20 21:12:02
【问题描述】:

我在 UITabelViewCell 中显示 UILabel - 我试图将溢出的文本放到下一行。这很好用,当我使用“Title”ProtoType 单元格时 - 但由于我切换到带有一个 UILabel 的自定义单元格(所以我可以调整 UILabel 的宽度),事情似乎有点坏了。

答案(由 Jack Wu 提供):标签太小,无法容纳 2 行。

这就是我正在做的事情,以及我尝试设置换行符的方式:

UILabel *label = (UILabel *)[cell viewWithTag:200];

[label setLineBreakMode:NSLineBreakByWordWrapping];
[label setNumberOfLines:0];

这就是我的 IB 的样子: 发生什么了: 文本在标签的宽度处被截断 - 但没有发生换行符。 这就是它的外观(请参阅带有尾随 , 的单元格,这些单元格已被切断)

我在这里错过了什么?

编辑:使用[label sizeToFit] 会导致以下结果:

【问题讨论】:

  • 检查标签是否 != nill。如果没有,请检查:label.frame?,标签是否可见?如果附加了文本,请尝试设置背景颜色。
  • Label 不是 nil,其他的都设置好了。正在显示文本,只是没有正确插入新行
  • 使用-sizeToFit时,缩小标签的Y原点或放大单元格。否则,您将标签的宽度设置得太高。

标签: ios uilabel


【解决方案1】:

Edit2:看起来您的标签对于文本来说太小了。您可以尝试调整标签的高度以容纳多行文本

旧答案 ---

编辑:查看您对其他解决方案的回复,标签似乎正确换行,但文本对于标签来说太大了。

可能有一些问题

  1. 您的标签中是否出现“...”?如果是这样,则换行模式设置不正确。

  2. 可能只是您的标签太小而无法容纳文本。您需要允许标签自动缩小文本或增加标签的大小

    //iOS 7 
    label.minimumScaleFactor = 0.5 // Scales the text down
    //iOS 6 and prior
    label.minimumFontSize =  8 // Or whatever font point
    

【讨论】:

  • 添加这个,遗憾的是对结果没有影响:( - 还用 IB 更新了帖子 - 标签不应该太小。
  • 在界面生成器中,我的选项是换行符下方的“自动收缩”选项。从您发布的图片来看,您的标签似乎正在调整大小?与 IB 大小相比,它在发布的屏幕截图中更小
  • 另请注意,在您的 IB 中,您的标签看起来只能包含 1 行文本,除非您动态调整表格单元格或标签的大小。如果标签太小,如果不自动收缩,文本将不会换行。
  • 啊!调整标签的高度有效!谢谢! (你能编辑你的答案吗?)
【解决方案2】:

尝试使用这条线

[label sizeToFit];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    相关资源
    最近更新 更多