• 使用SnakeKit怎么设置动画效果 以及 UIView的弹簧动画效果


       
        /// 设置视图子控件的约束
       private func setSubViewsLayout(){
            
            
            // 添加视图
            view.addSubview(iocnView)
            view.addSubview(nameLable)
            
            // 要先设置头像的约束
            iocnView.snp_makeConstraints { (make) -> Void in
                
                make.centerX.equalTo(view.snp_centerX)
                make.bottom.equalTo(view.snp_bottom).offset(-200)
            }
            
            nameLable.snp_makeConstraints { (make) -> Void in
                // 宽高不用去设置了
                make.centerX.equalTo(view.snp_centerX)
                make.top.equalTo(iocnView.snp_bottom).offset(20)
            }
        }
    
    
    
      func setAnmiation(){
            // 如何怎么修改约束..
            
             // 更新一下头像的地步约束
            //咱们这个动画是通过修改头像的约束才可以进行的.. 因为名称lable是依赖他的
           
            iocnView.snp_updateConstraints { (make) -> Void in
                //make.centerX.equalTo(view.snp_centerX)
                 make.bottom.equalTo(view.snp_bottom).offset(-UIScreen.mainScreen().bounds.height+150)
                
    
            }
            
            
            //
            //            UIView.animateWithDuration(2, animations: { () -> Void in
            //
            //                // 这是普通的动画效果
            //            })
            
            // 弹簧动画效果
            /*
            1. 动画执行几秒
            2. 延迟时间
            3 usingSpringWithDamping  弹簧浮动系数 0~1;系数越大,弹簧效果越明显
            4 initialSpringVelocity: 弹簧的初始速度
            5.枚举: OC默认用 0,swift 默认用 []
            */
            
    
            UIView.animateWithDuration(2, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 0, options: [], animations: { () -> Void in
                //动画执行代码
                self.view.layoutIfNeeded()
                }, completion: { (_) -> Void in
                    
                    //动画执行完成之后的操作
                    
           NSNotificationCenter.defaultCenter().postNotificationName(kNotificationChangeController, object: self)
            })
            
        }
        
    layoutIfNeeded: 这个就关键
  • 相关阅读:
    Mongodb 查询时间类型
    Python更新所有pip package
    Python selenium on windows
    Redis cluster setup on windows
    CAP定理(theorem)
    error: Microsoft Visual C++ 14.0 is required when installing python package
    using RNGCryptoServiceProvider to generate random string
    <map>的使用
    二维vector的使用
    vector做形参时的三种传参方式
  • 原文地址:https://www.cnblogs.com/zhubaofeng/p/5375427.html
Copyright © 2020-2023  润新知