如何在StackView内的两个视图之间进行动画处理?

时间:2017-06-26 20:34:24

标签: swift animation uistackview

我想在屏幕上占据相同空间的两个不同的UIView之间制作动画。有时用户希望看到图像和其他时间的统计信息。通过点击按钮,我想在两者之间制作动画。

现在我只在XIB中的stackView中安排了一个视图,我想知道如何在不搞乱autoLayout的情况下进行设置?

我是否需要获取对stackView的引用和另一个的视图?如果是这样意味着我必须以编程方式设置布局约束?

处理此问题的最佳方式是什么?

谢谢。

2 个答案:

答案 0 :(得分:0)

将两个观看次数放在UIStackView中。设置两个子视图的出口。 (你必然需要一个插件来查看堆栈视图。)当你将其中一个设置为isHidden = true时,堆栈视图会处理"删除&# 34;它来自可见内容,而不保留非隐藏时占用的帧。在动画中,只需为isHidden = [true|false]语句设置动画。

答案 1 :(得分:0)

XCode 9.1和swift 4

我会这样做:

  • 如果我在一个StackView中有两个View:为两个View设置出口。
  • 在任何情况下,例如按下按钮,只需隐藏我想要的视图:
  

self.ViewTwo.isHidden = true

  • 像这样动画:
  

UIView.animate(withDuration:0.5){                   self.ViewTwo.isHidden = true       }

  • 当我想回来的时候:
  

UIView.animate(withDuration:0.5){                   self.ViewTwo.isHidden = false       }

动画的方向将根据堆栈中配置的设置查看(垂直或水平)