Masonry--更新动画

2017-06-28  本文已影响84人  GUIYIVIEW

很久没有敲代码了,手真的生了。想要实现一个自定义ActionSheet的动画,使用的是Masonry布局,然而尝试许久都没看到动画效果,所以狂百度。然而百度了辣么多种方法,没有一种对我是有用的,也许是因为我的视图层级太多了,没办法,只能一行代码一行代码的尝试,从一行行注释到一行行替换执行顺序,在我将要进行下一次尝试的时候,动画效果出来了,T_T 我把动画时间写太长了。。。下面直接上代码吧

- (void)viewDidLoad {
    [super viewDidLoad];
    /// 添加视图
    [self.view addSubviews:self.bottomView];
   /// 1.初始布局
    [self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.right.mas_equalTo(0);
        make.bottom.mas_equalTo(kBYScreen_Height);
    }];
}

- (void)show {
  /// 2.在这里先对布局约束进行更新
  [self.bottomView mas_updateConstraints:^(MASConstraintMaker *make) {
        make.bottom.mas_equalTo(0);
    }];
    [UIView animateWithDuration:0.3 animations:^{
        /// 注意:
        /// 3.这里一定是要做动画的视图的父视图,或者父视图的父视图,总之就是比它辈分高的
        [self.bottomView.superView layoutIfNeeded];
      /// 这里可以处理其他的事情,比如改变父视图的透明度
    } completion:^(BOOL finished) {
        
    }];
}

这里简单记录一下,免得下一次又忘记了!!!

上一篇 下一篇

猜你喜欢

热点阅读