【问题标题】:How to prevent a UITableViewCell's textLabel from truncating its text on iPad如何防止 UITableViewCell 的 textLabel 在 iPad 上截断其文本
【发布时间】:2013-06-02 12:33:52
【问题描述】:

我在 iPad 上使用UITableView,由于某种原因,UITableViewCell.textLabel 的文本被截断,即使有足够的空间来显示文本。我尝试了以下所有方法,但都没有解决它:

  1. 在单元格上设置灵活宽度自动调整大小的蒙版
  2. 设置文字后调用[cell sizeToFit]
  3. 致电[cell.textLabel setNumberOfLines:0][cell.textLabel setLineBreakMode:NSLineBreakByWordWrapping]

我还没有尝试继承 UITableViewCell 并在 layoutSubviews 方法中显式设置框架。试图避免这种情况,因为我觉得应该有更好的解决方案。我也不想调整文本的大小 - 有足够的空间来适应完整字体大小的文本。

【问题讨论】:

  • 您如何在“>”右侧显示这些数字?您是否添加了自定义附件视图?
  • 我将 UILabel 作为子视图添加到单元格中。但是,我已经尝试将 UILabel 注释掉,它仍然不起作用。
  • 那么,如果您将其注释掉,那么该单元格只是一个带有披露指示符的标准“基本”单元格,没有别的?
  • 正确:cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; [cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
  • 我无法复制您的问题。您应该尝试为标签添加背景颜色以确保其大小。当我这样做时,它会显示标签一直到披露指示符

标签: ios ipad uitableview uilabel


【解决方案1】:

u set set textLabel第0行号

     cell.textLabel.numberOfLines=0;
     cell.textLabel.lineBreakMode=UILineBreakModeWordWrap; or NSLineBreakByWordWrapping;

希望对你有帮助

【讨论】:

  • 我试过没有用。我用这个信息更新了我的问题。仅供参考 UILineBreakModeWordWrap 已弃用。
【解决方案2】:

设置标签的“setNumberOfLines”属性以将文本换行到所需的行数。 如果您不希望文本末尾的“...”太长,请使用

cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;或 NSLineBreakByWordWrapping 用于 ios 6 或更高版本

尝试动态设置 textlable 和 tableviewcell 的高度和宽度参考this link

【讨论】:

  • 我试过没有用。我用这个信息更新了我的问题。仅供参考 UILineBreakModeWordWrap 已弃用。
  • 在 ios 6 或更高版本中使用 NSLineBreakByWordWrapping
  • 为什么设置高度会有所不同?应该有足够的空间以默认高度显示文本。
【解决方案3】:

答案最终与 UITableViewCell 无关。有一段代码截断了要在表格视图单元格中显示的文本!到目前为止,感谢大家的帮助。

【讨论】:

    【解决方案4】:

    我遇到了同样的问题。这在 ios 6 中发生在我身上,在你定制的单元格中也发生在我身上。我使用了多行和 NSLineBreakByWordWrapping。

    我已经解决了将所有标签更改为使用 NSLineBreakByCharWrapping

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多