gpt4 book ai didi

ios - UITableView 自动布局灵活高度

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:53 24 4
gpt4 key购买 nike

我有以下设计。 enter image description here

我正在使用 AutoLayout 使一切变得灵活。在这个设计中,我有一个 UIView,它的颜色是灰色,如图所示,还有一个 UITableViewUIView 下方。有时我必须显示此 UIView,有时我必须隐藏此灰色 UIView

我的问题是每当我隐藏 UIView 时,UITableView 都没有固定它的高度。我不想在 .m 文件中进行硬编码。 AutoLayout 是否可以解决这个问题。我有这些限制,如下图所示。我是否缺少任何约束。

enter image description here

当我尝试更改 UIView 高度时,UITableView 没有向上移动并显示一些橙色约束,如图所示。 enter image description here

最佳答案

约束看起来不错。显示/隐藏灰色 UIView 所需要做的就是更改高度约束常量。为此,在您的 Controller 中为约束创建一个 IBOutlet(您以与为 UIView IBOutlet 相同的方式执行此操作),以及当您想隐藏灰色 View 时,将约束的 constant 属性设置为 0

例如。

@interface MyViewController
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *greyViewHeightConstraint;
@end

当你想隐藏 View 时:

self.greyViewHeightConstraint.constant = 0;

要再次显示 View ,您必须在 Storyboard加载后保存“默认”常量值(例如在 viewDidLoad 中),并设置 self.greyViewHeightConstraint.constant 到这个保存的值。

另请注意,这些约束更改 can be animated .


您在 Interface Builder 中看到的“橙色约束”是正常的:它表示 View 框架与您设置的约束不匹配。然后,您可以更新框架以遵守约束,或更新约束以匹配框架。

关于ios - UITableView 自动布局灵活高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24781104/

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