gpt4 book ai didi

ios - swift 将表格 View 的大小调整到最后一行

转载 作者:行者123 更新时间:2023-11-28 08:25:58 24 4
gpt4 key购买 nike

我想在 android 中创建类似自动完成 TextView 的东西,这意味着在覆盖 View 中显示搜索结果的 TableView 。为此,我制作了一个包含表格 View 的 View (需要显示特定背景)。这很好用,但是当 tableview 只有 1 行时,tableview 不会调整其高度。

我写

tableView.tableFooterView = UIView()

但它只是抑制了分隔符的多余部分,并没有改变高度。

你能帮帮我吗?

enter image description here enter image description here

最佳答案

您应该手动更新 tableView 的框架。如果您使用自动布局,请为 tableView 的高度添加一个 IBOutlet:

@IBOutlet weak var heightConstraint: NSLayoutConstraint!

我假设 tableView 的高度受一些固定值的限制。如果它取决于屏幕高度,只需将 maxTableViewHeight 替换为计算变量即可。

let maxTableViewHeight = CGFloat(300)

创建一个方法来更新 tableView 的高度。如果内容高度小于 maxHeight,它将确保调整 tableView 的大小:

func updateTableViewFrame() {
autocompleteTableView.layoutIfNeeded() //to make sure you have updated contentSize
let height = autocompleteTableView.contentSize.height
heightConstraint.constant = min(height, maxTableViewHeight)
view.layoutIfNeeded()
}

现在您所要做的就是在数据源更新时调用此方法。在您的情况下,这应该是用户输入的更改值。

关于ios - swift 将表格 View 的大小调整到最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39974575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com