Masonry 动画

比如想做一个最简单的位移动画:

关键点在,改完约束后,调用下面这段代码,父view调用 layoutIfNeeded

    [UIView animateWithDuration:0.5 animations:^{

        [self.view layoutIfNeeded];

    }];

 

 

#import "ViewController.h"

#import <Masonry.h>

@interface ViewController ()

@property (nonatomic, strong) UIView *myView;

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    

    self.myView = [UIView new];

    self.myView.backgroundColor = [UIColor redColor];

    

    [self.view addSubview:self.myView];

    

    [self.myView mas_remakeConstraints:^(MASConstraintMaker *make) {

        make.top.mas_equalTo(self.view).offset(100);

        make.left.mas_equalTo(self.view).offset(100);

        make.width.mas_equalTo(100);

        make.height.mas_equalTo(100);

    }];

    

}

- (IBAction)clickButton:(id)sender {

    [self.myView mas_remakeConstraints:^(MASConstraintMaker *make) {

        make.top.mas_equalTo(self.view).offset(300);

        make.left.mas_equalTo(self.view).offset(100);

        make.width.mas_equalTo(80);

        make.height.mas_equalTo(80);

    }];

        

    [UIView animateWithDuration:0.5 animations:^{

        [self.view layoutIfNeeded];

    }];

}

@end

 

猜你喜欢

转载自www.cnblogs.com/yibinpan/p/9386054.html