将其他视图移动到隐藏的视图

hel*_*ikh 0 uitableview uiview ios autolayout swift

你好,我是 IOS 新手,我在尝试实现的一项功能上遇到了困难。我有一个UIViewController,其中我UIView在顶部显示一个自定义,下面我有一个动态TableView。我在某些情况下隐藏并显示自定义 UIView,但问题是如果我隐藏它,我的表格不会取代该视图,因此我可以看到那里的空间。我想我已经对自动布局做了一些事情,但我不擅长自动布局,所以如果有人可以提供帮助,那就太好了。我在这里附上演示屏幕,以便您可以理解。UIView我应该做什么才能使其工作,以便表格在隐藏时占据自定义 UIView 位置

在此输入图像描述

这是如果我隐藏上面部分自定义 UIView 得到的结果

在此输入图像描述

Ran*_*sid 5

为了实现此功能,您需要执行以下步骤:

  1. 为顶视图创建高度约束并将其保存在@IBOutlet中

@IBOutlet 弱 var topViewHeightConstraint :NSLayoutConstraint!

  1. 当您隐藏顶视图时,请将高度限制也更改为 0,以便 tableview 取代它的位置。为了将其更改为 0,您只需将常量值更改为 0

topViewHeightConstraint.constant = 0

在此输入图像描述

可以在此处找到下载 swift 项目的链接,该项目展示了如何执行此操作