gpt4 book ai didi

ios - 动态大小的 TableView 创建 AutoLayout 问题

转载 作者:行者123 更新时间:2023-11-29 01:13:19 25 4
gpt4 key购买 nike

我有一个占据整个设备屏幕的 ScrollView

在这个 ScrollView 内部有一个 View,它包含 3 个 Label,位于 TableView 下方,并且最后在下面有一个标签

Layout in Story Baord

现在,TableView 中注入(inject)了未知数量的项目,并且我不希望它滚动,因此我将其高度附加为 NSLayoutContraint 动态调整大小,并在解析项目后重新加载。

这是数据进入后调整表大小的方式:

@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var tableHeight: NSLayoutConstraint!

var array = [String]()

let import = self.items!["people"] as? String

array = import!.componentsSeparatedByString(",")

let height = CGFloat(self.array.count * 50)

self.tableHeight.constant = height

self.tableView.reloadData()

这一切都很好,但问题出在自动布局上,我不断收到错误。我尝试过以下方法:

  1. 设置要固定在 ScrollView 上的内部 View 布局。首先,Xcode 说“ScrollView 的可滚动内容大小不明确”,并且在运行它时,没有控制台错误,但 View 水平扩展超过 ScrollView 视口(viewport)和动态内容下方的 Label 显示。

Try number 1

第 2 号规定:UIScrollView Scrollable Content Size Ambiguity

  1. 将内部View设置为水平居中,并与ScrollView垂直居中。消除了不明确的内容大小错误(耶!) ,并更正View运行超过ScrollView视口(viewport)(耶!),但动态下方的Label -sized TableView 未隐藏(假设它在 TableView 下),但我现在可以理解地得到了 Unable to Simulate Constraints. 错误控制台。

Try number 2

这是我得出的两个结果,但我现在陷入困境。我已经检查了 Apple 文档中有关 ScrollViews 的步骤,并完全按照它进行操作,但我认为我遇到这个问题是因为动态大小的 TableView 或我犯的一些 AutoLayout 错误。

有人可以帮忙吗?谢谢你!

最佳答案

您是否尝试过为此使用堆栈 View ?您应该能够将 ScrollView 设置为堆栈,将其他所有内容设置为其他 View ,然后覆盖它们。您可能必须使用 X、Y 选项,因为拖动会将其放入堆栈 View 中。

关于ios - 动态大小的 TableView 创建 AutoLayout 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35510653/

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