gpt4 book ai didi

ios - UITableViewCell 和 AutoLayout 打破约束的两种状态

转载 作者:行者123 更新时间:2023-11-29 00:31:35 26 4
gpt4 key购买 nike

我尝试为 UITableViewCell 执行两种不同的状态,但是当我更改单元格的大小时,此更改打破了许多约束 AutoLayout。这两个状态是:

enter image description here

enter image description here

  • 黄色是单元格
  • 灰色是自定义UIView
  • Orange 是 A 中的另一个 UIView
  • 红色是B里面的两个UILabel

初始状态是展开的,但是当我减小行的高度以更改为折叠状态时,许多约束(主要是 UIView B 和 UILabels >) 打破自动布局

步骤:

  1. 点击单元格,改变单元格的大小
  2. 隐藏UIView B
  3. 重新加载UITableView

有什么方法或方法可以避免破坏约束吗?也许有两种不同的电池设计?

谢谢!

最佳答案

在您的情况下,更好的解决方案是使用两个具有不同标识符的单元格 - 一个包含 View A,另一个包含 View A、B。然后你可以 .dequeueReusableCell(withIdentifier: %CELL_A_OR_CELL_B_IDENTIFIER%, for: indexPath) 根据你的需要。

不太合适的解决方案是使用堆栈 View 或调整您的约束。在这两种情况下,避免冲突和防止不正确布局的唯一方法是正确设置约束优先级。我会尝试将圆圈优先级的约束设置为小于 1000 的值(例如 990)

enter image description here

关于ios - UITableViewCell 和 AutoLayout 打破约束的两种状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41616895/

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