gpt4 book ai didi

xcode自动布局隐藏 View 占用空间

转载 作者:行者123 更新时间:2023-12-02 04:23:45 26 4
gpt4 key购买 nike

我一整天都在努力完成这项工作,但是
但没有成功。我尝试设置按钮顶部约束(垂直间距)相对于tableView。但是当我从我的快速代码中隐藏表格 View 时仍然占用空间。

layout views
我想要实现的是,当我隐藏表格 View 时,它会不再占用空间,在这种情况下,以上所有 View 的按钮将像这样向上移动:

enter image description here

我也尝试过这个:设置 UIsearchbox 顶部约束,然后设置 tableview 顶部约束然后设置相对于 tableview 的 Button 顶部约束然后创建 Button 相对的顶部约束到 Uisearchbox 的优先级为 250。但还是不行。

最佳答案

View 的可见性对约束没有影响。隐藏 View 仍然像可见 View 一样参与约束系统。

如果您希望布局在 View 可见性更改时更改,则必须在 View 可见性更改时手动修改约束。您可以禁用/卸载某些并启用/安装其他,或者可能更改约束的常量。

一种方法与您尝试过的类似。创建一个约束,即按钮的顶部必须大于或等于 TableView 的底部。创建另一个约束,使按钮的顶部等于搜索框的底部,并稍微降低优先级(但仍然相当高,例如 900)。

按钮有无数个位置满足第一个约束,因为它是一个不等式。第二个约束本身无法满足,但没关系,因为它的优先级较低。尽管如此,自动布局系统仍试图尽可能地满足它。这解决了歧义并使按钮保持在表格 View 的底部。

保留第一个约束的导出。当您隐藏 TableView 时,从第一个约束的常量中减去一个大值。您不必小心选择该值,只要它确保大于 TableView 的高度即可。假设是 10,000。第二个限制是尝试将按钮拉到搜索框的正下方。第一个约束是防止这种情况发生,但常数的变化缓解了该限制,并允许通过向上移动按钮来直接满足第二个约束。

当您显示表格 View 时,将大值添加回常量,将其返回到其原始值。

关于xcode自动布局隐藏 View 占用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28526436/

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