动态tableHeaderView

时间:2017-02-24 14:17:17

标签: ios iphone swift uitableview swift3

我将自定义UIView用作tableheaderView并具有以下约束。

我使用RXSwift以下列方式设置tableHeader

  viewModel.header.subscribe(onNext: { headerViewModel in
            let headerView = AttractionDetailHeaderView.grabFromNib()
            headerView.delegate = self
            headerView.setViewModel(viewModel: headerViewModel)
            self.tableView.tableHeaderView = headerView
            self.sizeHeaderToFit()
            headerView.setNeedsLayout()
        }).addDisposableTo(disposeBag)

您看到我使用sizeHeaderToFit方法来调整headerView

的大小
func sizeHeaderToFit() {
    let headerView = tableView.tableHeaderView!
    let footerView = tableView.tableFooterView!

    let height = headerView.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height
    var headerFrame = headerView.frame
    headerFrame.size.height = height
    headerView.frame = headerFrame

    var footerFrame = footerView.frame
    footerFrame.size.height = 40
    footerView.frame = footerFrame

    tableView.tableHeaderView = headerView
    tableView.tableFooterView = footerView
}

但我的tableview标题的高度永远不正确。

有人可以帮忙吗?

enter image description here

0 个答案:

没有答案