ios – 使用autolayout为包含子视图的视图设置动画

ios – 使用autolayout为包含子视图的视图设置动画,第1张

概述这是设置: >在Interface Builder上创建的UIView,链接到IBOutlet变量(_vAbout) >我们想要动画的这个视图的约束,链接到IBOutlet变量(_ctrBottomAboutView) 我正在使用此代码进行动画处理: _ctrBottomAboutView.constant = -100;[UIView animateWithDuration:0.5 anima 这是设置:

>在Interface Builder上创建的UIVIEw,链接到IBOutlet变量(_vAbout)
>我们想要动画的这个视图的约束,链接到IBOutlet变量(_ctrBottomAboutVIEw)

我正在使用此代码进行动画处理:

_ctrBottomAboutVIEw.constant = -100;[UIVIEw animateWithDuration:0.5 animations:^{    [_vAbout layoutIfNeeded];}

我的问题是:只要视图中有任何子视图,动画就不起作用.但是,如果视图没有子项,则动画可以正常工作.

你知道解决方案吗?我已经尝试了一切:添加和删除约束而不是修改常量值,在Interface Builder上为子视图添加约束…

解决方法 经过一些空的项目从地面开始的一些实验后,这是我发现的:

鉴于我们希望动画的视图和B的超级视图

>请记住,接收layoutIfNeeded消息的视图是拥有约束的视图,这一点非常重要.
>在NSLayoutAttributeWIDth和NSLayoutAttributeHeight的情况下,约束的所有者实际上是A,但在所有其他情况下,拥有约束的视图是B

然而

>如果A没有任何子视图,我们可以随时在我们的代码上调用[A layoutIfNeeded]并且它可以工作>如果A有一个或多个子视图,但是我们在vIEwDIDLoad上启动动画,我们可以调用[A layoutIfNeeded]它会工作

总结

以上是内存溢出为你收集整理的ios – 使用autolayout为包含子视图的视图设置动画全部内容,希望文章能够帮你解决ios – 使用autolayout为包含子视图的视图设置动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1100504.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存