UIView.animation只运行一次?

时间:2016-01-06 08:13:28

标签: swift

以下代码运行一次,它甚至没有动画效果。它只显示高出20个像素。知道为什么吗?我想要的是按钮永远上下移动。

scrollButton.frame = CGRectMake(CGRectGetMidX(self.view.frame)-20, (self.view.frame.size.height-64)*1-80, 40, 16)
scrollButton.setImage(UIImage(named: "ARROW.png"), forState: .Normal)
scrollButton.tintColor = UIColor.whiteColor()

self.scrollView.addSubview(scrollButton)

UIView.animateWithDuration(1.0, delay: 0, options: UIViewAnimationOptions.Repeat | UIViewAnimationOptions.Autoreverse, animations: {
    self.scrollButton.frame.origin.y -= 20
}, completion: nil)

2 个答案:

答案 0 :(得分:1)

虽然这个问题很老,但我想为新用户增加一些亮点。

从viewDidLoad调用时,UIView动画效果不佳,请尝试从viewWillAppear调用它。

希望它有所帮助。

答案 1 :(得分:0)

我不确定这是否能够正常工作,你可以制作两个功能,每个功能必须移动身体然后再调用另一个功能。您可以使用布尔变量来停止函数的工作。