Xcode 单击时折叠视图或元素

Xcode Collapse view or element on click

我正在开发一个主屏幕应该是顶部 header 徽标、红色状态行和下方的 MapView 的应用程序。

单击红色状态栏时,元素或视图应扩大其大小并显示一些按钮。当再次点击它时,它应该再次隐藏内容。

我搜索了很多,但没有找到关于如何在 views/elements 上执行 expand/hide 的任何解决方案。 我试图以编程方式更改元素的高度,但没有成功。

我正在使用 Xcode 设计器来设计我的视图。

有人知道如何做到这一点吗?

我只找到了使用 UITableView 的解决方案,但我认为 UITableView 不能包含不同的项目,例如:

  1. 顶部 header 徽标
  2. 红色状态栏
  3. 地图视图

Image that shows how the structure should be

Tableview 可以包含不同的项目。

I have tried to change the height of an element programmatically but with no success.

我认为您在更改项目高度时没有看到任何变化。你应该使用:

self.redStatusbarHeightConstraint.constant = 100
UIView.animate(withDuration: 0.3) {
     self.view.layoutIfNeeded()
}

在动画块外设置常量。