![](/img/trans.png)
[英]UITextField inside UIStackView Spacing Issue on width constraint
[英]UITableView inside a UIStackView height constraint issue
我们的应用程序有一个模式,其中许多屏幕在顶部有许多 UILabels,在它们下面有一个 UITableView,当存在时,它始终是页面上的最后一个元素并扩展到屏幕底部。 因为页面依赖于用户特定的数据,所以我们不知道需要显示多少标签。 此外,在某些情况下,当 UITableView 中没有要显示的数据时,我们只是想隐藏它。
由于页面的动态特性,我认为将所有 UILabels 和 UITableView 包装在 UIStackView 中,然后在代码中操作元素可见性(即 isHidden 属性)是要走的路。 我将 UIStackView 的所有角固定到 SuperView 的角上,除了底部约束,我使底部约束大于或等于 UIStackView 底部约束。 这样做是为了确保在 UITableView 被隐藏的情况下,UIStackView 不会占据整个屏幕,因为这样做时它倾向于在屏幕中间显示标签。 基本上,如果 UITableView 可见,我希望 UIStackView 占据整个页面,否则,只需要显示标签所需的空间。
AutoLayout 在确定 UITableView 的高度时有问题。 我可以想到两种解决方案:
与 UITableView 不同,UILabels 似乎没有与 UITableView 相同的高度限制问题。 我不是 100% 确定这是为什么,但我的猜测是 UILabels 提前知道它们的高度(可能通过 internalContentSize())但 UITableView 直到运行时才知道?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.