【发布时间】:2019-07-09 13:53:04
【问题描述】:
我正在尝试为 SCNView 高度设置动画,但似乎存在一些视觉问题。
当内容增长时,看起来一切正常,但是当我试图降低高度时,视图会立即跳转到最终高度。
let newHeight = scene.frame.height + (open ? 100.0 : -100.0)
UIView.animate(withDuration: 1.0, animations: {
self.scene.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: newHeight)
}) { finished in
self.open = !self.open
}
常规视图一切正常。
【问题讨论】:
-
您似乎没有计算安全区域的框架。
-
@MahendraGP here 你可以在没有安全区域的 iPhone 8 上找到动画。动画引擎立即将视图高度更改为锚点位置,然后开始“破碎”动画
-
现在看起来框架是在动画之前设置的。
-
@MahendraGP 你可以自己测试一下。只需创建空项目,添加 SCNView 并尝试对其高度进行前后动画处理。此代码适用于常规视图
标签: ios swift animation uikit scenekit