UIView自下而上过渡问题
UIView transition problem from bottom to up
在我的应用程序中,我想在 override func viewDidLayoutSubviews()
中从下到上为视图设置动画。到目前为止,我已经通过这种方式从底部传输视图,但在不同的设备中显示不同的 UI。 UI视图转换正常,但视图未完全从底部转换,期望 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)
但是对于这两种方式,我都面临着同样的问题。运气不好!!
这是我的错误,我没有想出正确的方法来解决 it.Anyway 如果有人遇到类似的问题,那么这个答案可能会对他们有所帮助。我刚刚更改了当前的 autolayout
以解决由于 animationView
和 topView
之间的约束而发生的 issue.This 问题。这两个视图之间的距离约束是固定的,这就是为什么当动画发生时它会调整 animationView
的大小来调整 constraints.So 我的解决方案是固定动画视图高度约束并更改优先级 required
到 low
故事板中 animationView
和 topView
之间的距离约束
在我的应用程序中,我想在 override func viewDidLayoutSubviews()
中从下到上为视图设置动画。到目前为止,我已经通过这种方式从底部传输视图,但在不同的设备中显示不同的 UI。 UI视图转换正常,但视图未完全从底部转换,期望 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)
但是对于这两种方式,我都面临着同样的问题。运气不好!!
这是我的错误,我没有想出正确的方法来解决 it.Anyway 如果有人遇到类似的问题,那么这个答案可能会对他们有所帮助。我刚刚更改了当前的 autolayout
以解决由于 animationView
和 topView
之间的约束而发生的 issue.This 问题。这两个视图之间的距离约束是固定的,这就是为什么当动画发生时它会调整 animationView
的大小来调整 constraints.So 我的解决方案是固定动画视图高度约束并更改优先级 required
到 low
故事板中 animationView
和 topView
之间的距离约束