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

来源:互联网 发布:翻样算尺软件 编辑:程序博客网 时间:2024/06/05 04:34
    //通知调用方法
    @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()
        }
        
    }
0 0
原创粉丝点击