iOS DeveloperiOS开发iOS学习笔记

使用Masonry,你的view也能动起来

2017-05-26  本文已影响189人  我是七月
奋斗的七月
用Masonry给view加约束之后,发现加上动画,不起作用,经过查资料研究,发现实现方法和普通的方法实现差不多,重点只是修改约束后调用

直接上代码


    UIView *rectView = [[UIView alloc] init];
    rectView.backgroundColor = [UIColor greenColor];
    [self.view addSubview:rectView];

    [rectView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.view).offset(100);
        make.right.equalTo(self.view).offset(-50);
        make.top.equalTo(self.view).offset(150);
        make.height.equalTo(@180);
    }];

    [rectView.superview layoutIfNeeded];//如果其约束还没有生成的时候需要动画的话,就请先强制刷新后才写动画,否则所有没生成的约束会直接跑动画

    [UIView animateWithDuration:10 animations:^{
        
        [rectView mas_updateConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(self.view).offset(10);
            make.height.equalTo(@10);
        }];
        [rectView.superview layoutIfNeeded];//强制绘制
    }];
    

上一篇下一篇

猜你喜欢

热点阅读