UIView过渡问题从下到上

问题描述 投票:-2回答:1

在我的应用程序中,我想在override 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)

但是对于这两种方式我都面临同样的问题。没运气!!

First image iPhone 6 Plus Second image iPhone XR and Third iPhone XS

swift uiview swift4.2 uiviewanimationtransition
1个回答
-1
投票

这是我的错误,我没有以适当的方式思考解决它。无论如何,如果有人遇到类似的问题,那么这个答案可能会对他们有所帮助。我刚刚更改了当前的autolayout来解决这个问题。由于animationViewtopView之间的约束,这个问题正在发生。这两个视图之间的距离约束是固定的,这就是为什么当动画发生时它正在调整animationView以调整约束。所以我的解决方案是使动画视图高度约束固定并将优先级required更改为low之间的距离约束故事板中的animationViewtopView

© www.soinside.com 2019 - 2024. All rights reserved.