iOS子View使用AutoLayout后在父View中使用动画不生效的问题

子View中使用AutoLayout后,在父View中如果使用animateWithDuration进行动画处理,子View的动画效果生效,但是子View中的元素不会产生动画效果。

解决方法,需要在执行animateWithDuration中调用子View的layoutIfNeeded

            [UIView animateWithDuration:2 animations:^{
                CGRect rect = self.loginAlertV.frame;
                rect.size.width = SCREEN_WIDTH - 24 - 40 - 24;
                self.loginAlertV.frame = rect;
                [self.loginAlertV layoutIfNeeded];
            } completion:^(BOOL finished) {}];

类似这样

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容