我想在屏幕上占据相同空间的两个不同的UIView之间制作动画。有时用户希望看到图像和其他时间的统计信息。通过点击按钮,我想在两者之间制作动画。
现在我只在XIB中的stackView中安排了一个视图,我想知道如何在不搞乱autoLayout的情况下进行设置?
我是否需要获取对stackView的引用和另一个的视图?如果是这样意味着我必须以编程方式设置布局约束?
处理此问题的最佳方式是什么?
谢谢。
答案 0 :(得分:0)
将两个观看次数放在UIStackView
中。设置两个子视图的出口。 (你不必然需要一个插件来查看堆栈视图。)当你将其中一个设置为isHidden = true
时,堆栈视图会处理"删除&# 34;它来自可见内容,而不保留非隐藏时占用的帧。在动画中,只需为isHidden = [true|false]
语句设置动画。
答案 1 :(得分:0)
XCode 9.1和swift 4
我会这样做:
self.ViewTwo.isHidden = true
UIView.animate(withDuration:0.5){ self.ViewTwo.isHidden = true }
UIView.animate(withDuration:0.5){ self.ViewTwo.isHidden = false }
动画的方向将根据堆栈中配置的设置查看(垂直或水平)