ios - 动画约束快速适合所有屏幕

标签 ios swift animation

我是约束的初学者,最近我开始从事动画工作,我的目标是 iPhone 6s plus。一切都是关于将球从某个 Y 点移动到另一个点..

  func animateBall(){
        UIView.animateWithDuration(0.5, delay: 0.0000001, options : [.CurveEaseInOut, .TransitionCurlDown,] , animations: {

        self.ball1.frame.origin.y = 121.0
        self.ball2.frame.origin.y = 175.0
        self.ball3.frame.origin.y = 340.0
        self.ball4.frame.origin.y = 394.0
        self.ball5.frame.origin.y = 447.0
        self.ball6.frame.origin.y = 502.0
        self.ball7.frame.origin.y = 555.0
        self.ball8.frame.origin.y = 585.0
        self.ball9.frame.origin.y = 68.0

        //
        //            }
        //

        } ,completion :{(finished:Bool) in
            // the code you put here will be compiled once the animation finishes
            self.restoreToNormalBalls()


    })
}



 func restoreToNormalBalls (){

    self.ball1.frame.origin.y = 68
    self.ball2.frame.origin.y = 121
    self.ball3.frame.origin.y = 175
    self.ball4.frame.origin.y = 340
    self.ball5.frame.origin.y = 394
    self.ball6.frame.origin.y = 447
    self.ball7.frame.origin.y = 502
    self.ball8.frame.origin.y = 555
    self.ball9.frame.origin.y = 15

}

我已将约束设置为适合所有屏幕,但当我点击动画时,它仅适用于 6s Plus。任何帮助使动画在所有屏幕上工作? 谢谢

最佳答案

根据@lubilis 的建议,

首先,为从球到容器 View 上边缘的顶部空间添加约束。
然后将该约束设为@IBOutlet,假设为outletedConstraintBall1
然后在制作动画时,喜欢:

UIView.animateWithDuration(0.5, delay: 0.0000001, options : [.CurveEaseInOut, .TransitionCurlDown,] , animations: {

    outletedConstraintBall1.constant = 121
    containerView.layoutIfNeeded()
})

重置其位置:

restoreToNormalBalls() {
     outletedConstraintBall1.constant = 68
}

关于ios - 动画约束快速适合所有屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37917025/

相关文章:

ios - 为 iPhone 应用程序创建类似图像的 excel 网格 - 我应该使用什么 UI 元素?

ios - 你在哪里初始化 View Controller 中的属性值?

ios - 创建一个通用的 UViewController 初始化器

ios - 快速 ScrollView 中的 TableView

ios - Realm - 将对象添加到另一个对象内的列表

css - jsmovie 错误地调整 Sprite 图像的大小

javascript - 使用jquery切换动画文本

ios - 如何自动圆化弹出 View 的边缘?

android - ios相当于android xml的是什么?

java - 如何使用 Java Swing 制作动画数字计数器?