【问题标题】:Swapping UIViews in and out of a ViewController's view在视图控制器的视图中交换 UIViews
【发布时间】:2019-03-01 10:51:46
【问题描述】:

我对 iOS/Swift 开发并不完全陌生,但我大部分时间都在处理“后端”代码,所以很遗憾我的 UI 设计/开发技能水平不是我想要的。考虑到这一点,我的 UI 布局(用于视图控制器)看起来像这样:

在此布局中,标记为“View To Swap”的视图可能处于以下三种状态之一:

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

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

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

【问题讨论】:

    标签: ios swift view storyboard


    【解决方案1】:

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

     self.viewToSwap.isHidden = true
    

    这会自动折叠它的内容,你可以添加任何子视图(A/B),不要忘记self.viewToSwap.clipsToBounds = true

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      相关资源
      最近更新 更多