UItableViewCell内的动态Tableview

时间:2018-02-20 17:08:46

标签: swift uitableview dynamic

我想在dynamic height中使用UITableViewCell实现subTableView,其中subTableView包含具有动态UITableViewCell的单元格。如果有人实现了此方案,请分享您的想法。< / p>

-UItableview(Parent)
  -UItableviewCell
     -UITableView(child)
        -UItableviewCell(dynamic content).

2 个答案:

答案 0 :(得分:0)

  1. 创建UItableviewCell(动态内容)时使用自动布局..
  2. 将UITableView(子)rowHeight设置为UITableViewAutomaticDimension。
  3. 设置UITableView(child)的estimatedRowHeight。
  4. 你可以看到这个网站: https://www.raywenderlich.com/129059/self-sizing-table-view-cells

答案 1 :(得分:0)

第一种方法::为子tableView创建一个子类并覆盖internalContentSize。

         class MyOwnTableView: UITableView {
        override var intrinsicContentSize: CGSize {
            self.layoutIfNeeded()
            return self.contentSize
        }

        override var contentSize: CGSize {
            didSet{
                self.invalidateIntrinsicContentSize()
            }
        }

        override func reloadData() {
            super.reloadData()
            self.invalidateIntrinsicContentSize()
        }
    }

2。在“界面”构建器中,将子tableView的类更改为MyOwnTableView(UItableView的子类)。

  1. 设置父表视图和子表视图的自动行高。

        tableView.estimatedRowHeight = 60.0;
        tableView.rowHeight = UITableViewAutomaticDimension;
    

第二种方法:        1.为子tableView创建一个具有任何值的高度约束,并连接设置子tableView高度的IBOutlet。 2.将高度约束的常量设置为tableView.contentSize.height

    self.tableViewHeight.constant = self.tableView.contentSize.height