swift - 试图获取 2 个视图之一的 frame.height,它在 stackview 内同样填充
问题描述
我在垂直堆栈视图(下半部分和上半部分)中有 2 个视图。他们的约束依赖于那个stackview。我在botHalfView中有一个水平的stackview(containerStackView3)。它的约束前导、尾随和高度依赖于 botHalfView。在调试窗口中,我还可以在控制台上看到 bothalfview.frame.height=0 的高度,我将其添加为水平堆栈视图的约束。因此,bothalfview 内的 Horizontalstackview 没有显示任何维度。我应该将水平堆栈视图的高度分配给哪个约束?或任何其他解决方案?
let containerStackView3 = UIStackView()
containerStackView3.translatesAutoresizingMaskIntoConstraints = false
containerStackView3.axis = .vertical
containerStackView3.distribution = .fillEqually
containerStackView3.spacing = 1
//adding views
containerStackView1.addArrangedSubview(botHalfView2)
botHalfView2.addSubview(containerStackView3)
//constraints bothalfview
botHalfView2.bottomAnchor.constraint(equalTo:
containerStackView1.bottomAnchor, constant: 0).isActive = true
botHalfView2.leadingAnchor.constraint(equalTo:
containerStackView1.leadingAnchor, constant: 0).isActive = true
botHalfView2.trailingAnchor.constraint(equalTo:
containerStackView1.trailingAnchor, constant: 0).isActive = true
// Constraints of the stack view inside the bothalfview
containerStackView3.leadingAnchor.constraint(equalTo:
botHalfView2.leadingAnchor, constant: 0).isActive = true
containerStackView3.trailingAnchor.constraint(equalTo:
botHalfView2.trailingAnchor, constant: 0).isActive = true
containerStackView3.bottomAnchor.constraint(equalTo:
botHalfView2.bottomAnchor, constant: 0).isActive = true
containerStackView3.heightAnchor.constraint(equalToConstant:botHalfView2.frame.height).isActive = true
解决方案
如果您需要与 bot half 相同的容器高度,请执行此操作 //bothalfview 内的堆栈视图的约束
containerStackView3.leadingAnchor.constraint(equalTo:
botHalfView2.leadingAnchor, constant: 0).isActive = true
containerStackView3.trailingAnchor.constraint(equalTo:
botHalfView2.trailingAnchor, constant: 0).isActive = true
containerStackView3.bottomAnchor.constraint(equalTo:
botHalfView2.bottomAnchor, constant: 0).isActive = true
containerStackView3.topAnchor(equalTo:
botHalfView2.topAnchor, constant: 0).isActive = true
推荐阅读
- mysql - 字段中的不同 where 值
- css - IE 元素的高度不能跨越其绝对定位的 flex 容器最小高度
- html - 在树的下方获取网格列
- angular - 如何在 Angular 5 和打字稿中使部分文本区域不可编辑?
- javascript - NodeJS:myFunction() 不是函数
- c++ - 无法在控制面板中创建轨迹栏。示例代码不起作用
- excel - Search for info and add from another sheet
- angular - How to return to the previous page with angular?
- c# - How can I make a DropDownList invisible when a CheckBox is checked and vice versa
- reactjs - 在故事书中使用 scss @import 导入时出错