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

本文介绍如何在Swift中通过监听键盘通知来调整键盘显示时的动画效果,并提供了具体实现代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    //通知调用方法
    @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()
        }
        
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值