我想在屏幕上占据相同空间的两个不同的Uiview之间进行动画。有时用户希望查看图像和其他时间统计信息。通过敲击一个按钮,我想在两者之间进行动画。
现在,我只在XIB中的StackView中排列了一个视图,我想知道如何在不弄乱自动层的情况下设置此视图?
我需要获取对stackView的引用,另一个视图?如果是这样,那意味着我必须从编程上设置布局约束?
处理此问题的最佳方法是什么?
谢谢。
将两个视图都放在UIStackView
中。将插座设置为两个子视图。(您不一定需要堆栈视图本身的插座。(当您将其中一个设置为isHidden = true
时,堆栈视图会从可见的内容中"删除"它,而无需保留框架当不隐藏时它将占据。在您的动画中,只需动画isHidden = [true|false]
语句。
xcode 9.1和swift 4
我会这样:
- 如果我在一个stackView中有两个视图:两个视图的设置插座。
- 在任何情况下,按下按钮,只需隐藏我想要的视图:
self.viewtwo.ishidden = true
- 这样的动画:
uiview.animate(删除:0.5({ self.viewtwo.ishidden = true }
- 当我只想回来时:
uiview.animate(删除:0.5({ self.viewtwo.ishidden = false }
动画的方向将根据堆栈视图中配置的设置(垂直或水平(