当前位置: 首页 > 知识库问答 >
问题:

UIView动画未设置动画

卫博学
2023-03-14

我有一段代码,可以为UIImage的位置设置动画,但是过渡没有设置动画,而是位置会立即改变。我不认为这是一个代码问题,因为相同的代码在另一个项目上工作,但我无法找出其他错误。

class CenterViewController : UIViewController {
    @IBOutlet var logoView: UIImageView!
    @IBOutlet var logoViewVerticalConstraint: NSLayoutConstraint!

    override func viewDidAppear(animated: Bool) {
        animateLogo()
    }

    func animateLogo() {
        self.logoViewVerticalConstraint.constant = 35 - (self.view.frame.size.height / 2);
        logoView.setNeedsUpdateConstraints()
        UIView.animateWithDuration(2.5, animations: {
            self.logoView.alpha=1
            self.logoView.layoutIfNeeded()
        })
    }
}

alpha会动画,而y位置不会。我的约束如下所示

编辑:我正在使用针对8.4的Xcode-Beta 7

共有1个答案

周宏胜
2023-03-14

试试吧

func animateLogo() {
    logoView.layoutIfNeeded()
    UIView.animateWithDuration(2.5, animations: {
        self.logoViewVerticalConstraint.constant = 35 - (self.view.frame.size.height / 2);
        self.logoView.alpha=1
        self.logoView.layoutIfNeeded()
    })
}
 类似资料:
  • 我有一个叫波浪的UIView,它有一个漂亮的无尽的“浮动”动画 现在,如果我添加另一个动画,比如说将这个视图移动到不同的位置,“浮动”动画就会停止。这是一个合理的反应,在完成块中再次启动“浮动”是没有问题的。我只是想知道我是否遗漏了什么,也许是在动画选项中,以不相互中断的方式将两者结合起来。 我能够这样做,如果第二个动画是基于CGAffineTransfromScale,它们结合没有问题,但当我移

  • 我有一段疯狂的代码。我如何用核心动画来制作动画,这样我的代码就少了很多?我已经找到了一些做“摆动”动画的代码,但那是3D的,我只想让视图左右移动,我不想让它在侧面反弹。

  • 每当此动画结束时,我都会尝试调用一个方法,但在某些情况下,例如,当用户离开应用程序时,它的完成块永远不会被调用。此外,当VC与UIView动画同时出现时,完成块永远不会被调用。 即使动画以某种方式中断,我应该如何确保调用回调?我是否应该根本不使用UIView动画完成块,而是使用其他内容?请开导我。。!

  • 标准的块非常适合需要单个动画效果的动画,即调整大小和/或移动。 是否有一种方法可以使动画渐进,使动画开始缓慢,并随着其进展而提高速度? 我可以尝试嵌套的

  • 我在我正在开发的应用程序中发现了一个奇怪的错误。在我进入细节之前,我将陈述我的问题 1-为什么不能调用UIView动画完成块 2-为什么在显示模式视图后会调用UIView动画完成块? 我有一系列UIView动画,它们在视图控制器出现后开始。他们有完成块。绝大多数情况下,动画完成块都会被调用。但每隔一段时间,应用程序就会进入一种状态,完成块不会被调用。 此外,当我从当前视图控制器模态地呈现一个新的视

  • 我放在表格视图中的代码:cellForRowAtIndexPath:- 要查看UITableViewCell中的任何动画,应该使用哪种方法或放置哪种类型的动画。我知道我无法设置现有标签的动画,因为这些标签带有约束。