UIViewAnimation在单个视图控制器中工作,但在从另一个视图控制器中进行调用时不工作

时间:2015-01-22 23:57:16

标签: ios iphone animation swift uiviewanimation

我有一个动画功能,当只有一个视图控制器时,它可以完美地运行。当它运行时,左侧的块移动到右侧。动画的代码如下。

let timerSquare = UIView()

func timerRectangle(){

timerSquare.backgroundColor = UIColor.greenColor()
timerSquare.frame = CGRect(x: 0, y: 450, width: 50, height: 20)
self.view.addSubview(timerSquare)
UIView.animateWithDuration(2.0, animations:
{
self.timerSquare.backgroundColor = UIColor.redColor()
self.timerSquare.frame = CGRect(x: 270, y: 450, width: 50, height: 20)
}, completition: nil)
}

然而,当我使用一个简单的按钮创建一个视图控制器时会出现问题,该按钮会使用动画代码进入视图控制器。一旦它进入代码,动画就不会运行,它会在完成位置显示块,就像动画已经完成运行一样。

View控制器除了动画代码之外没有其他代码,我已经将动画功能放在视图控制器的许多部分中,包括" ViewDidLoad"部分,我不确定为什么它不从初始位置运行动画。它自己完美地工作,唯一不同的是创建一个按钮进入代码,所以它让我感到困惑。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我设法找到问题的解决方案。我需要在viewDidLoad中添加子视图,然后在viewDidAppear中启动动画,这样一旦View出现就会开始。希望这能帮助那些有同样问题的人