使用Autolayout为UIView设置动画
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Autolayout为UIView设置动画相关的知识,希望对你有一定的参考价值。
当我尝试为iPhoneX设置UIView动画时,我遇到了自动布局的一些问题。正如你在第一张图片中看到的那样,我的UIView被关闭了,所以我得到了我想要的东西......
结果
在第二张图片中,我尝试打开我的UIView,但是你可以看到空间仍然在底部,而不是在iPhone 7上,没有空间。
如何延长我的uiview的长度以覆盖底部缺失的空间?
我已经尝试在Superview中从Safe Area更改我的第一个项目,但是这给我带来了另一个问题,因为当我的uiview关闭时,它比iphone 7加上太多了......
结果
我需要的是得到这样的结果
你能帮助我吗 ?
答案
解决了self.view.safeAreaInset.bottom
......
当UIView关闭时,我以这种方式设置约束(loginPanelBottomConstraint)的动画:
[UIView animateWithDuration:.3 animations:^{
self.loginPanelBottomConstraint.constant = 0 + self.view.safeAreaInsets.bottom;
[self.view layoutIfNeeded];
}];
面板打开时:
[UIView animateWithDuration:.3 animations:^{
self.loginPanelBottomConstraint.constant = 245
[self.view layoutIfNeeded];
}];
以上是关于使用Autolayout为UIView设置动画的主要内容,如果未能解决你的问题,请参考以下文章
同时使用不同的动画曲线为 AutoLayout 约束设置动画
Swift Animation Enclosure 不会设置动画