【发布时间】:2019-03-11 19:32:04
【问题描述】:
在我的应用程序中,我想在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)
但是对于这两种方式我都面临同样的问题。不走运!!
【问题讨论】:
-
在上下文中显示您的代码。很大程度上取决于代码运行的位置。例如,如果您在
viewDidLoad中获取框架,则大多数时候您会得到错误的答案。 -
我在
override func viewDidLayoutSubviews()写这段代码
标签: swift uiview swift4.2 uiviewanimationtransition