zoukankan      html  css  js  c++  java
  • NSLayoutConstraint的动画

    - (void)_show:(BOOL)show
    {
        [self.superview layoutIfNeeded];
        CGFloat selfTop_SuperBottom = show ? -self.frame.size.height : 0;
        for (NSLayoutConstraint *constraint in self.superview.constraints)
        {
            if (constraint.firstItem == self && constraint.firstAttribute == NSLayoutAttributeTop
                && constraint.secondItem == self.superview && constraint.secondAttribute == NSLayoutAttributeBottom)
            {
                constraint.constant = selfTop_SuperBottom;
                break;
            }
        }
       
        [UIView animateWithDuration:0.50 animations:^{
            [self.superview layoutIfNeeded];
        } completion:^(BOOL finished) {
           
        }];
    }

    1.如果你使用的是AutoLayout来进行布局,并且又要使用UIView的动画的话,上面截图的代码可以帮助你解决这个问题.

    2.特别提醒:注意代码的3行.如果不添加该行代码,下边的代码会在第一次时产生一个"诡异"的效果.添加该行的意思就是:首先布局一下,以免没有完成的布局,影响下边的动画效果.

  • 相关阅读:
    Cookie、Session和自定义分页
    logstash 运行
    php json数据保留原样中文
    linux 32位还是64位
    php之isset 与 empty 区别
    php 订单
    个人分类
    laravel 创建自己的函数
    lumen框架导入数据异常
    yum安装samba服务器的安装
  • 原文地址:https://www.cnblogs.com/Sunnyheart/p/6229450.html
Copyright © 2011-2022 走看看