美文网首页
masonary布局约束怎么让UI有animation?

masonary布局约束怎么让UI有animation?

作者: 熟睡的毛毛虫 | 来源:发表于2018-09-06 13:55 被阅读13次

前言:

使用masonry添加约束,各位都不陌生,但是有没有发现使用它布局UI时,加的动画没效果呢?俗话说没话说个图啊。。。。

正文

  • Scene one

代码如下:

    [UIView animateWithDuration:.5 animations:^{
        
        [self.sliderBlockView mas_updateConstraints:^(MASConstraintMaker *make) {
            make.right.mas_equalTo(-100);
        }];

    }];

效果是下面这样的: noAnimation.gif
  • Scene two

代码如下:

 [self.sliderBlockView mas_updateConstraints:^(MASConstraintMaker *make) {
        make.right.mas_equalTo(-100);
    }];
    
    [UIView animateWithDuration:.5 animations:^{
        
        [self.sliderBlockView.superview layoutIfNeeded];
        
    }];
效果是下面这样的: haveAnimation.gif

原因:如果其约束还没有生成的时候需要动画的话,就请先强制刷新后才写动画,否则所有没生成的约束会直接跑动画。[self.sliderBlockView.superview layoutIfNeeded]这行代码相当于强制更新约束了。

结束语

若问:美丽的外表和有趣的灵魂你怎么做出选择?
我:选择都有的你!

相关文章

网友评论

      本文标题:masonary布局约束怎么让UI有animation?

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