解决IQKeyboard键盘引起的视图上移

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决IQKeyboard键盘引起的视图上移相关的知识,希望对你有一定的参考价值。

参考技术A 由于IQKeyboard键盘功能强大,所有很多人都在用,但难免会和项目有冲突,比如整体视图上移。。。
下面说一下我的解决方案,为了不影响其他页面的使用,所以在使用的页面停掉IQKeyboard键盘,然后自己监听键盘弹出的方法,来执行操作

4.隐藏键盘上自动添加的工具条

5.可以将键盘上的return按键,变为Next/Done按键,默认最后一个UITextField/UITextView的键盘return键变为Done。顺序是按照创建控件的先后顺序,而不是从上到下的摆放顺序。

6.设置点击背景收回键盘

7.如果你的视图有导航栏,键盘弹起不想导航栏被弹出视图,需要把当前的View替换为UIScrollView

swift 点击Textfield 后自动上移,避免键盘被遮住

一些textfield在键盘显示出来的时候会被挡住,所以在编辑textfield我们可以把视图上移

方法是给textfield增加两个监听事件

    @IBAction func beginEdit(_ sender: UITextField) {
        animateViewMoving(up: true, moveValue: 100)
    }
        
    @IBAction func endEdit(_ sender: UITextField) {
        animateViewMoving(up: false, moveValue: 100)
    }
    
    func animateViewMoving (up:Bool, moveValue :CGFloat){
        let movementDuration:TimeInterval = 0.3
        let movement:CGFloat = ( up ? -moveValue : moveValue)
        UIView.beginAnimations( "animateView", context: nil)
        UIView.setAnimationBeginsFromCurrentState(true)
        UIView.setAnimationDuration(movementDuration )
        self.view.frame = self.view.frame.offsetBy(dx: 0,  dy: movement)
        UIView.commitAnimations()
    }

 

以上是关于解决IQKeyboard键盘引起的视图上移的主要内容,如果未能解决你的问题,请参考以下文章

iOS-监听键盘输入,视图整体上移或恢复-避免输入遮挡

键盘出现时UITextField上移【Swift】

【iOS】解决键盘收起时页面上移的问题

IOS 管理键盘 - 上移 UIScrollView 内容

swift 点击Textfield 后自动上移,避免键盘被遮住

出现键盘时无法上移自定义 UIView