iPhone X使用IQKeyboardManager管理UITextfield键盘

1,452 阅读1分钟

在全面屏上用IQKeyboardManager管理键盘高度时发现,底部的UITextfield键盘弹出时老是会和键盘空出一段。 适配全面屏iPhone X没有适配好?这框架这么垃圾?

image.png

image.png

百度无果,直接扒源码。对了我用的是swift版本,oc应该差不多吧。 找到了这个地方

image.png
红框框出来的地方就是核心。

如果textFieldViewUIScrollView并且在编辑状态高度为0,否则就为layoutMargins.bottom。

解决办法1

难道把我自己写的UITextfield改成UITextView就好了? 我试了一下果然就可以了。图我就不贴了,因为此方法我不推荐。

解决办法2

那我去改变默认的layoutMargins.bottom行不行! 于是在viewdidload中加入一句话

 if #available(iOS 11.0, *) {
            view.insetsLayoutMarginsFromSafeArea = false
        } else {
            // Fallback on earlier versions
        }

image.png

完美搞定!