我有一个视图,里面有两个标签和一个表视图.我希望标签1始终位于表视图上方,标签2始终位于表视图下方.问题是,表格视图需要自动调整大小,这意味着要么增加高度,要么减少高度.

现在我有一个约束条件,表视图的高度总是等于85,还有一个@IBOutlet到高度的约束条件,我可以改变这个常数.

我猜我需要把常数改成所有细胞的高度,但我不确定怎么做.

Menu constraints

推荐答案

必须在UIViewController中覆盖updateViewConstraints(),并将高度约束的常量设置为tableView.内容大小.身高:

override func updateViewConstraints() {
    tableHeightConstraint.constant = tableView.contentSize.height
    super.updateViewConstraints()
}

然后,您必须确保Label2有一个顶部约束,即greaterThanOrEqual到表视图的底部.当表格视图的contentHeight大于可用高度时,还必须将表格视图的高度约束的优先级从Required更改为High,以避免冲突约束.

Swift相关问答推荐

JSON如何解码空对象

SWIFT并发:合并Taskgroup和AsyncStream?

SWIFT计划计时器方法在时间间隔后未被调用

不能将符合协议的SWIFT类的实例分配给需要该协议的Objective-C属性

为什么这个快速代码不显示文本字段?

在 SwiftUI 视图中观察 UIViewRepresentable 的 @State var 变化

当模式以编程方式关闭时在父视图控制器中触发操作

如何制作一个在 SceneKit 中投射阴影的透明物体?

如何让飞机与 RealityKit 中的物体相撞

从 Swift Vapor Server 中调用 ShazamKit

为什么 performSegue() 不调用 shouldPerformSegue()

SwiftUI:异步网络请求后@State 值不更新

Swift Swiftui - 将 colored颜色 保存到 UserDefaults 并从 @AppStorage 使用它

SwiftUI:当先前的视图列表更改时,NavigationView 详细视图会弹出回栈

如何在 Swift 中的两个 UIView 中心之间添加线?

引用类型(类)不需要但 struct 需要的可识别 id

不要从 NumberFormatter 获取货币符号

swift:修改字典中的数组

将项目引用添加到 Swift iOS XCode 项目并调试

哪些版本的 Xcode 支持哪些版本的 Swift?