Swift UIView从下到上的转换问题

Swift UIView从下到上的转换问题,swift,uiview,swift4.2,uiviewanimationtransition,Swift,Uiview,Swift4.2,Uiviewanimationtransition,在我的应用程序中,我想在覆盖func viewDidLayoutSubviews()中从下到上设置视图动画。到目前为止,我已经通过这种方式从底部传输视图,但在不同的设备中,它显示的UI不同。UIView转换正在工作,但除iPhone XS外,视图未从底部完全转换。到目前为止,我采用了以下两种方式: 第一步: let currentFrame = self.animationVIew.frame self.animationVIew.frame = CGRect(x: 0, y:

在我的应用程序中,我想在
覆盖func viewDidLayoutSubviews()
中从下到上设置视图动画。到目前为止,我已经通过这种方式从底部传输视图,但在不同的设备中,它显示的UI不同。UIView转换正在工作,但除iPhone XS外,视图未从底部完全转换。到目前为止,我采用了以下两种方式:

第一步

    let currentFrame = self.animationVIew.frame
    self.animationVIew.frame = CGRect(x: 0, y: self.view.frame.height, width: currentFrame.size.width, height: currentFrame.size.height)
    UIView.animate(withDuration: 1.0) {
        self.animationVIew.frame = currentFrame
        self.loadViewIfNeeded()
    }
UIView.transition(with: animationVIew,
                      duration: 0.5,
                      options: [.transitionFlipFromBottom],
                      animations: {

    },
    completion: nil)
第二步

    let currentFrame = self.animationVIew.frame
    self.animationVIew.frame = CGRect(x: 0, y: self.view.frame.height, width: currentFrame.size.width, height: currentFrame.size.height)
    UIView.animate(withDuration: 1.0) {
        self.animationVIew.frame = currentFrame
        self.loadViewIfNeeded()
    }
UIView.transition(with: animationVIew,
                      duration: 0.5,
                      options: [.transitionFlipFromBottom],
                      animations: {

    },
    completion: nil)
但无论从哪方面来说,我都面临着同样的问题。不走运


这是我的错误,我没有用正确的方法来解决它。无论如何,如果有人面临类似的问题,那么这个答案可能会对他们有所帮助。我刚刚更改了当前的
autolayout
以解决此问题。发生此问题是因为
animationView
topView
之间存在约束。这两个视图之间的距离约束是固定的,这就是为什么当动画发生时,它会调整
animationView
的大小以调整约束。因此,我的解决方案是固定动画视图高度约束,并将中
animationView
topView
之间距离约束的优先级
required
更改为
low
情节提要

在上下文中显示代码。很大程度上取决于代码运行的位置。例如,如果您在
viewdiload
中获取帧,则大多数情况下您都会得到错误的答案。我在
override func viewdilayoutsubviews()
中编写此代码很好,但由于该信息不在问题中,因此这不是一个公平的答案。好的,下次我将尝试添加有关该问题的更多细节。