【问题标题】:AutomaticDimensions not working自动尺寸不起作用
【发布时间】:2017-06-16 11:35:07
【问题描述】:

我希望单元格拉伸以适应标签中的内容。

类:

class TestTableController: UITableViewController {

  @IBOutlet weak var titleLabel: UILabel!

  @IBOutlet weak var mainLabel: UILabel!

  @IBOutlet weak var nameField: HoshiTextField!

  @IBOutlet weak var requestButton: UIButton!

  override func viewDidLoad() {
    super.viewDidLoad()

    tableView.estimatedRowHeight = 44
    tableView.rowHeight = UITableViewAutomaticDimension
  }

  override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    if indexPath.row == 1 {//<- only for this row
      return UITableViewAutomaticDimension
    }
    return super.tableView(tableView, heightForRowAt: indexPath)
  }


  @IBAction func requestButtonTapped(_ sender: UIButton) {
    //TODO
  }
}

约束:

(superview 是 contentView,我仔细检查过)

结果(单元格是 lorem ipsum):

行数设置为零:

编辑:已解决。完全没有改变,甚至没有清理就做了一个新的构建,现在它可以工作了...... =.=

【问题讨论】:

  • label需要设置numberOfLines = 0,应该是expend。
  • 它已经设置为 0,忘记写了。将更新问题。
  • 采取contraints 从四面八方,这对你有用
  • 已解决,检查编辑。

标签: ios swift uitableview autolayout


【解决方案1】:

设置文本类型为属性

【讨论】:

    【解决方案2】:

    解决了。完全没有改变,甚至没有清理就做了一个新的构建,现在它可以工作了...... =.=

    【讨论】:

      【解决方案3】:

      尝试添加

      func tableView(UITableView, estimatedHeightForRowAt: IndexPath)
      

      给一些随机值。它应该可以工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-14
        • 1970-01-01
        • 2013-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-13
        相关资源
        最近更新 更多