在 ViewController 的视图中交换 UIView
Swapping UIViews in and out of a ViewController's view
我并不是 iOS/Swift 开发的新手,但我主要从事 "backend" 代码工作,所以我的 UI design/development 技能水平很遗憾不是什么我希望如此。考虑到这一点,我有一个 UI 布局(用于视图控制器),看起来像这样:
在此布局中,标记为 "View To Swap" 的视图可能处于以下三种状态之一:
- 它可能被隐藏(或移除?),在这种情况下,StackView B 应该直接出现在 StackView A 的下方
- 可能需要显示(或替换为?)"Subview A"
- 可能需要显示(或替换为?)"Subview B"
子视图 A 和 B 的右上角都有一个按钮,单击该按钮后,应该 remove/hide "View To Swap" 视图。
我已经阅读了一些关于容器视图的内容,我想知道这是否是我应该在这里采用的方法,或者是否有更简单、直接的方法来实现它?我目前正在使用情节提要和自动布局来定义我的主要视图(左侧的视图)和约束,但我了解以编程方式构建 UI 的基础知识,如果这样可以更容易地实现这样的东西?感谢您的任何建议!
您需要将 3 个主要视图(顶部堆栈、viewToSwap、底部堆栈)插入垂直 UIStackView
和 distribution = fillEqually
中,并将 viewToSwap
挂钩为 IBOutlet
, 每当你想隐藏它时
self.viewToSwap.isHidden = true
这会自动折叠它的内容,您可以向其中添加任何子视图 (A/B),不要忘记 self.viewToSwap.clipsToBounds = true
我并不是 iOS/Swift 开发的新手,但我主要从事 "backend" 代码工作,所以我的 UI design/development 技能水平很遗憾不是什么我希望如此。考虑到这一点,我有一个 UI 布局(用于视图控制器),看起来像这样:
在此布局中,标记为 "View To Swap" 的视图可能处于以下三种状态之一:
- 它可能被隐藏(或移除?),在这种情况下,StackView B 应该直接出现在 StackView A 的下方
- 可能需要显示(或替换为?)"Subview A"
- 可能需要显示(或替换为?)"Subview B"
子视图 A 和 B 的右上角都有一个按钮,单击该按钮后,应该 remove/hide "View To Swap" 视图。
我已经阅读了一些关于容器视图的内容,我想知道这是否是我应该在这里采用的方法,或者是否有更简单、直接的方法来实现它?我目前正在使用情节提要和自动布局来定义我的主要视图(左侧的视图)和约束,但我了解以编程方式构建 UI 的基础知识,如果这样可以更容易地实现这样的东西?感谢您的任何建议!
您需要将 3 个主要视图(顶部堆栈、viewToSwap、底部堆栈)插入垂直 UIStackView
和 distribution = fillEqually
中,并将 viewToSwap
挂钩为 IBOutlet
, 每当你想隐藏它时
self.viewToSwap.isHidden = true
这会自动折叠它的内容,您可以向其中添加任何子视图 (A/B),不要忘记 self.viewToSwap.clipsToBounds = true