美文网首页
iOS约束动画

iOS约束动画

作者: 可以叫我汤包呀 | 来源:发表于2018-09-26 15:24 被阅读316次

NSLayoutConstraint约束动画实现

在用NSLayoutConstraint设置完约束,使用

[UIView animateWithDuration:0.25 animations:^{
    self.headerSizeHeightConstraint.constant = self.headerViewHeight;
    [self layoutIfNeeded];
}];

更新约束时,如果约束内有个上边距top设置默认是0,
所以view默认的frame的y也是0,在动画更新时会发现动画会从y是0的位置开始发生动画,不是当前的所在位置.
所以如果在约束top在某些时候有改变,用layoutIfNeeded更新约束动画时就会出现起始位置错误的动画过程.
目前解决办法我是把frame的y在动画更新之前设置为目前的新数值

self.headerView.frame = CGRectMake(0, self.headerOriginYConstraint.constant, SYS_WIDTH, oldHeaderHeight);
[UIView animateWithDuration:0.25 animations:^{
    self.headerSizeHeightConstraint.constant = self.headerViewHeight;
    [self layoutIfNeeded];
}];

这样约束动画开始时,起始位置就不会发生错误.

后记

还没有查清楚为什么约束动画会出现这种情况这么,我尝试设置动画属性为UIViewAnimationOptionBeginFromCurrentState,还是会发生动画起始位置有错误,目前解决办法感觉只是治标不治本,应该还是自己的写法有错误,希望知道的朋友说下真正的原因.

相关文章

  • iOS约束动画

    NSLayoutConstraint约束动画实现 在用NSLayoutConstraint设置完约束,使用 更新约...

  • UU_Get

    1.TextField输入金额限制 2 拖拽约束实现布局动画 3 打电话 4 iOS提交TestFlight测试显...

  • 约束、旋转动画和 iOS 7

    iOS7系统时,当在有约束的 view 上添加旋转动画时,记得把旋转动画添加的 view.layer 上面,不要直...

  • ios动画

    ios动画 ios动画2 ios动画3

  • Autolayout约束动画化(卖什么萌!)

    Autolayout约束动画化(卖什么萌!) Autolayout约束动画化(卖什么萌!)

  • iOS动画

    iOS动画-从UIView动画说起iOS动画-Transform和KeyFrame动画iOS动画-layout动画...

  • 《iOS动画》读书笔记·内容层动画

    《iOS动画》读书笔记·前序《iOS动画》读书笔记·显示层动画《iOS动画》读书笔记·内容层动画《iOS动画》读书...

  • 《iOS动画》读书笔记·显示层动画

    《iOS动画》读书笔记·前序《iOS动画》读书笔记·显示层动画《iOS动画》读书笔记·内容层动画《iOS动画》读书...

  • 《iOS动画》读书笔记·前序

    《iOS动画》读书笔记·前序《iOS动画》读书笔记·显示层动画《iOS动画》读书笔记·内容层动画《iOS动画》读书...

  • 《iOS动画》读书笔记·转场动画

    《iOS动画》读书笔记·前序《iOS动画》读书笔记·显示层动画《iOS动画》读书笔记·内容层动画《iOS动画》读书...

网友评论

      本文标题:iOS约束动画

      本文链接:https://www.haomeiwen.com/subject/uaadoftx.html