【问题标题】:How to give dynamic width for childStackview in parentStack in Swift如何在 Swift 中为 parentStack 中的 childStackview 提供动态宽度
【发布时间】:2021-10-18 12:28:10
【问题描述】:

我在 tableview 单元格中使用 stackview

我有一个 parentStackview 和两个 childStackviews

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

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

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

现在,如果我隐藏 childOneStack,然后 childTwoStack 在 parentStackview 中全宽显示.. 但我不希望这样,当我隐藏 childOneStack 时,我需要 childTwoStack 应该是 parentStackview 的一半

在表格视图单元格中隐藏 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!
}

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

【问题讨论】:

    标签: swift tableview width uistackview


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-09-22
      • 2018-08-27
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      相关资源
      最近更新 更多