【问题标题】:How to set dynamic height of UIView above TableView in Xcode?如何在 Xcode 中设置 UIView 在 TableView 上方的动态高度?
【发布时间】:2019-07-06 05:57:45
【问题描述】:

我在 tableview 上方添加了一个 UIView 以使其可滚动并在其下方有一些 tableviewcell,但我无法弄清楚如何设置“Detail Header”视图的高度动态以使其适合我的内容。我有一个 textLabel ,因此会增加它的高度

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

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

【问题讨论】:

标签: ios swift xcode


【解决方案1】:

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

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

    tableView.estimatedSectionHeaderHeight = 120

    //open var sectionHeaderHeight: CGFloat(默认为UITableViewAutomaticDimension)

    tableView.sectionHeaderHeight = UITableViewAutomaticDimension

  • 覆盖 viewForHeaderInSection 并使用自动布局来约束视图中的元素。这样就完成了。

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

【讨论】:

  • 我们即将解决此问题!非常感谢,现在单元格中有一些空间,我不知道为什么i.imgur.com/7xgWqd2.png
  • 根据图片,请检查行高和标题高度,您当前设置的是什么。也许您没有添加自动布局或stackview高度和宽度对应于superview。
【解决方案2】:

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

我通过在持有表格视图的视图控制器中创建对这个顶级 UIView 的引用来解决它。然后我只是根据我的标准动态设置它的高度。

示例代码:

topView.frame.size.height = 50

tableView.layoutIfNeeded()

【讨论】:

    猜你喜欢
    • 2021-09-18
    • 2012-10-02
    • 1970-01-01
    • 2016-09-08
    • 2016-08-05
    • 2021-08-12
    • 1970-01-01
    • 2019-11-01
    • 2018-08-09
    相关资源
    最近更新 更多