如何在Xcode中的TableView上方设置UIView的动态高度?

时间:2019-07-06 05:57:45

标签: ios swift xcode

我在表格视图上方添加了一个UIView以使其可滚动,并在其下方具有一些tableviewcell,但我不知道如何设置“ Detail Header”视图的动态高度,使其适合我的内容。我里面有一个textLabel,它的高度因此而增加

enter image description here

View内的所有约束都很好,但是UIView不能适应内容并保持其固定大小

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    return detailHeader
}

2 个答案:

答案 0 :(得分:0)

据我对您问题的理解-如何动态设置表格视图标题的高度-

  • 在viewDidLoad方法中,请使用以下几行:

    tableView.estimatedSectionHeaderHeight = 120

    ///打开var sectionHeaderHeight:CGFloat(默认为UITableViewAutomaticDimension)

    tableView.sectionHeaderHeight = UITableViewAutomaticDimension

  • 覆盖viewForHeaderInSection并使用“自动布局”将视图中的元素限制为合适。做完了

“不允许我放图片” 是什么意思?根据我的理解,如果您正在使用情节提要和拖放图像,那么它将使用右侧窗格中的图像选项直接分配图像。

答案 1 :(得分:0)

这已经晚了……但是我在设置表格视图内表格视图单元格上方的常规 UIView 的高度时遇到了这个问题。

我通过在包含表视图的视图控制器中创建对此顶部 UIView 的引用来解决它。然后我只是根据我的标准动态设置高度。

示例代码:

topView.frame.size.height = 50

tableView.layoutIfNeeded()