swift中关于表情键盘,抖动问题处理

    //通知调用方法

    @objc private func keyboardChangeAction(notification: NSNotification){

        //获取键盘动画曲线数值 7 苹果没有提供文档

        //1.如果将动画曲线设置为 7 ,在连续的动画过程中,前一个动画如果没有执行完毕,直接过渡到最后一个 (设置完1,2就可了)

       // 当使用了 7 这个值,  动画一律变成 0.5秒

        let curve = notification.userInfo![UIKeyboardAnimationCurveUserInfoKey]!.integerValue

       

       //UIKeyboardFrameEndUserInfoKey 键盘结束时rect的信息

        let keyboardRect = notification.userInfo![UIKeyboardFrameEndUserInfoKey]!.CGRectValue

      

        //UIKeyboardAnimationDurationUserInfoKey 键盘动画时长

        let duration = notification.userInfo![UIKeyboardAnimationDurationUserInfoKey]!.doubleValue

        

        //重设约束

        toolBarBottomCons?.constant = -UIScreen.mainScreen().bounds.size.height + keyboardRect.origin.y

        

        UIView.animateWithDuration(duration) { () -> Void in

            //2. 设置动画曲线值.

            UIView.setAnimationCurve(UIViewAnimationCurve.init(rawValue: curve)!)

            

            self.view.layoutIfNeeded()

        }

        

    }

    原文作者:hsf_study
    原文地址: https://blog.csdn.net/hsf_study/article/details/49356615
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞