在ViewController的视图中进出UIViews

时间:2018-09-25 18:20:24

标签: ios swift view storyboard

我对iOS / Swift开发并不完全陌生,但是我主要从事“后端”代码的开发,因此不幸的是,我的UI设计/开发技能水平并不是我想要的。考虑到这一点,我有一个UI布局(用于视图控制器),看起来像这样:

enter image description here

在此布局中,标记为“查看交换”的视图可能处于以下三种状态之一:

  1. 它可能是隐藏的(或已删除?),在这种情况下,StackView B应该直接出现在StackView A下方
  2. 它可能需要显示(或替换为?)“子视图A”
  3. 它可能需要显示(或替换为?)“ Subview B”

子视图A和B的右上角都有一个按钮,单击该按钮应删除/隐藏“交换视图”视图。

我一直在阅读一些有关容器视图的信息,我想知道这是我应该采用的方法,还是有一种更简单,直接的方法来实现?我目前正在使用情节提要和自动布局来定义我的主视图(左侧视图)和约束,但是我了解以编程方式构建UI的基本知识(如果可以更轻松地实现这样的东西)?感谢您的任何建议!

1 个答案:

答案 0 :(得分:2)

您需要将3个主要视图(顶部堆栈,viewToSwap和底部堆栈)插入带有UIStackView的垂直distribution = fillEqually内,并将viewToSwap钩为IBOutlet你想隐藏它

 self.viewToSwap.isHidden = true

这将自动折叠其内容,您可以向其添加任何子视图(A / B),并且不要忘记self.viewToSwap.clipsToBounds = true