【问题标题】:UIlabel multiline in UITableViewUITableView中的UIlabel多行
【发布时间】:2015-08-26 09:44:25
【问题描述】:

我在 UITableView 中遇到了 UILabel 的问题。我想在UILabel中带来电影的情节,但是当应用程序开始时,我只有一行非完整情节,但是当我向下和向上滚动时,我得到了2-3行的完整电影情节。可能是什么问题?

在 UILabel 首选项中,我选择 0 行(它使标签为多行)。 在 ViewController 中,在“viewDidLoad”中我写了两行代码,使单元格可调整大小:

self.searchTableView.estimatedRowHeight = 44.0
self.searchTableView.rowHeight = UITableViewAutomaticDimension

【问题讨论】:

  • 收到短信后有没有尝试layoutIfNeeded
  • @anhtu No. 怎么用?
  • @anhtu 哦,谢谢,这对我很有帮助!
  • 例如:view (superview) 的 UILabel。获取文本后(搜索后)调用[view layoutIfNeeded]...
  • 使用下面的委托方法来设置高度。可以根据您为标签中的特定文本计算的行数来计算高度。 - tableView:heightForRowAtIndexPath:

标签: ios iphone swift uitableview


【解决方案1】:

设置UILabel的文本后调用[view layoutIfNeeded]。它将再次布局子视图。

【讨论】:

    【解决方案2】:

    使用多行 UILabel,您必须帮助它知道何时在布局期间换行。

    为此,您需要设置preferredMaxLayoutWidth 属性。见https://developer.apple.com/library/ios/documentation/UIKit/Reference/UILabel_Class/#//apple_ref/occ/instp/UILabel/preferredMaxLayoutWidth

    所以在你的 cellForRowAtIndexPath 方法中添加类似:

    cell.yourUILabelIBOutlet.preferredMaxLayoutWidth = tableView.frame.size.width;
    

    【讨论】:

    • 这是唯一对我有用的解决方案。谢谢!
    【解决方案3】:

    您可以使用 UITableViewCell 中的自动布局来做到这一点。它对我有用。

    • 在表格视图中添加 UILabel

    • 设置 UILabel 前导、尾随、顶部和底部约束。(注意:不要为该标签设置高度)

    • 然后设置UILabel NO.Of line 0并设置换行模式。

    设置表格视图单元格高度

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    
          tableView.estimatedRowHeight = 150
            return UITableViewAutomaticDimension
    
    
    }
    

    【讨论】:

      【解决方案4】:

      添加下面的代码并尝试一下。有效##

      -(void)viewDidLoad {
      [超级 viewDidLoad];
      //在viewDidLoad的最后一行
      [self performSelector:@selector(reloadtable) withObject:nil afterDelay:1.0];
      }

      -(void)reloadtable
      {
      [self.tableView reloadData];
      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多