Masonry 實現動畫效果如下: 重點說明: ...
Masonry 實現動畫效果如下:
//button點擊方法 - (void)clickedButton { static BOOL isMove; //預設是NO Weakify(weakSelf); //告訴self.view約束需要更新 [weakSelf.view setNeedsUpdateConstraints]; //調用此方法告訴self.view檢測是否需要更新約束,若需要則更新,下麵添加動畫效果才起作用 [weakSelf.view updateConstraintsIfNeeded]; if (isMove) { isMove = NO; //添加動畫 [UIView animateWithDuration:5 animations:^{ [weakSelf.displayView mas_updateConstraints:^(MASConstraintMaker *make) { //更改距頂上的高度 make.top.equalTo(weakSelf.baseView.mas_bottom).with.offset(100); }]; //必須調用此方法,才能出動畫效果 [weakSelf.view layoutIfNeeded]; }]; } else{ isMove = YES; //添加動畫 [UIView animateWithDuration:5 animations:^{ [weakSelf.displayView mas_updateConstraints:^(MASConstraintMaker *make) { //更改距頂上的高度 make.top.equalTo(weakSelf.baseView.mas_bottom).with.offset(-100); }]; //必須調用此方法,才能出動畫效果 [weakSelf.view layoutIfNeeded]; }]; } }
重點說明: