美文网首页iOS开发
关于 masonry 使用 mas_updateConstrai

关于 masonry 使用 mas_updateConstrai

作者: 人话博客 | 来源:发表于2018-04-25 16:44 被阅读933次

今天在开发一个功能模块的时候,需要给某个按钮添加右滑手势,动画的显示删除按钮。

约束动画注意.gif

这里就涉及到了需要更新约束的问题。

但是一开始使用更新约束,动画无效。

代码是这么写的。

- (void)swipeShowGesture:(UISwipeGestureRecognizer *)gesture {
    [UIView animateWithDuration:0.25 animations:^{
        [_deleteButton mas_updateConstraints:^(MASConstraintMaker *make) {
            make.right.offset(0);
        }];
        [_deleteButton layoutIfNeeded];
        
    }];
}

后来换成了这种写法

- (void)swipeShowGesture:(UISwipeGestureRecognizer *)gesture {
    [UIView animateWithDuration:0.25 animations:^{
        [_deleteButton mas_updateConstraints:^(MASConstraintMaker *make) {
            make.right.offset(0);
        }];
        [self layoutIfNeeded];
    }];
}

效果就出来了。

分析了一下:
对于 right、top、bottom、left 等位置的约束,它们是相对于父视图而言的。所以,必须是父视图更新约束才行。也就是 [self layoutIfNeeded];

而对于 width,heigth 等大小的约束,是控制视图本身。可以使用 [_deleteButton layoutIfNeeded] ;

相关文章

  • 关于 masonry 使用 mas_updateConstrai

    今天在开发一个功能模块的时候,需要给某个按钮添加右滑手势,动画的显示删除按钮。 这里就涉及到了需要更新约束的问题。...

  • iOS 使用Masonry的mas_updateConstrai

    当约束出现冲突的时候,优先级高的约束覆盖优先级低的约束。具体优先级可以放在约束链的结束处。通过 priority(...

  • Masonry

    Masonry使用方法Masonry的使用Masonry的github地址 本篇文章 Masonry的基本使用方法...

  • 10.4 Masonry使用-动画

    Masonry使用-动画 会进行上下缩放 Masonry使用-动画1.png Masonry使用-动画2.png

  • Masonry使用方法

    Masonry的使用 Masonry的github地址 Masonry的基本使用方法 给控件添加约束使用Mason...

  • 关于Masonry的使用

    1.Mansonry不用弱引用 为什么不会循环引用? 这个和网络请求里面使用self道理是一样的。因为UIView...

  • 第三方库--Masonry的基本使用

    Masonry是目前最流行的AutoLayout框架. 使用: 将Masonry文件包拖入项目 使用Masonry...

  • Masonry的使用思考

    今天我想写一下关于对Masonry的使用总结 不得不说Masonry确实非常好用 好用好用好用到爆!!! 在使用之...

  • Masonry学习报告

    Masonry 源码:https://github.com/Masonry/Masonry 如果是使用cocoa ...

  • iOS Masonry布局UI之约束冲突解决

    想必Masonry是什么?就不用解释了。公司项目采用纯代码布局,使用的就是Masonry,当然使用Masonry布...

网友评论

    本文标题:关于 masonry 使用 mas_updateConstrai

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