Swift 如何在 parentStack 中为 childStackview 提供动态宽度

How to give dynamic width for childStackview in parentStack in Swift

我在 tableview 单元格中使用 stackview

我有一个 parentStackview 和两个 childStackviews

对于 parentStackview,我给出了如下约束

 leading = 10, trailing = 10, top = 10, height = 50

对于 parentStackview 中的两个 childStackview,我在情节提要中这样给出了

现在,如果我隐藏 childOneStack,那么 childTwoStack 会在 parentStackview 中以全宽显示。但是我不想那样,当我隐藏 childOneStack[= 时,我需要 childTwoStack 应该是 parentStackview 的一半15=]

在表格视图单元格中隐藏 childOneStack 的代码:

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

 let cell = tableView.dequeueReusableCell(withIdentifier: "ViewTableVIewCell", for: indexPath) as! ViewTableVIewCell

let bidData = viewData?.result?.bids?[indexPath.row]

if awardData?.status == "A"{

cell.childOneStack.isHidden = true

cell.childTwoStack.frame = CGRect(x: 0, y: 0, width: 200, height: 40)

}
}

class ViewTableVIewCell: UITableViewCell {
@IBOutlet weak var parentStackview: UIStackView!

@IBOutlet weak var childOneStack: UIStackView!
@IBOutlet weak var childTwoStack: UIStackView!
}

错误O/p:这是childTwoStack在parentStackview中显示全宽,请指导我解决这个问题

您可以在 UIView 中嵌入您计划 hide/unhide 的堆栈视图 - 即使子堆栈被隐藏,此容器视图也将占据父堆栈的一半。

您无法隐藏视图,但可以将其 alpha 更改为 0 - 在这种情况下,您需要禁用用户交互,因为视图将是透明的,但仍可交互。