限制标签与图像动画混淆

问题描述

我的目标是通过让云彩从屏幕顶部开始然后向下动画来让气球看起来正在上升。我还有两个标签作为左上角的计时器,我想添加约束以确保它们留在那里。当标签上没有约束时,我下面的代码可以工作,但是一旦我添加了约束,云就不会使其低于计时器标签。我应该如何解决这个问题?我尝试将标签放在视图中,但是当我限制视图时,会出现同样的问题。

The cloud never make it past the countdown timer

override func viewDidLoad() {
        super.viewDidLoad()
        
        Timer.scheduledTimer(timeInterval: 1.0,target: self,selector: 
            #selector(updateCounter),userInfo: nil,repeats: true)
        
        dispatchQueue.main.asyncAfter(deadline: .Now() + 0.5) {
            self.cloudOne.isHidden = false
            self.cloudTwo.isHidden = false
        }
        
    }
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        moveIt(cloudOne,8,0.0)
        moveIt(cloudTwo,2.0)
    }

func moveIt(_ imageView: UIImageView,_ speed:CGFloat,_ delay:Double) {
        let speeds = speed
        let delays = delay
        let imageSpeed = speeds / view.frame.size.height
        let averageSpeed = (view.frame.size.height - imageView.frame.origin.y) * imageSpeed
        imageView.frame.origin.y = -100
        UIView.animate(withDuration: TimeInterval(averageSpeed),delay: delays,options: .curveLinear,animations: {
        imageView.frame.origin.y = self.view.frame.size.height
        },completion: { (_) in
            imageView.frame.origin.y = -imageView.frame.height
            self.moveIt(imageView,speeds,delay)
        })
    }


解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...