美文网首页
关于IQKeyboard把导航栏顶上去的处理办法

关于IQKeyboard把导航栏顶上去的处理办法

作者: 小佛塔 | 来源:发表于2018-04-28 10:43 被阅读0次

    IQKeyboard输入框上移的原理:

    从输入框往底层找,如果找到的是scrollView,则scrollView往上滑,如果scrollView比较小,先把scrollView往上滑(这时候输入框还是不够高,但是scrollView再往上,输入框就已经滑出外面了,所以scrollView只能滑一定的高度),再往底层找能滑动的视图,如果只找到了VC.view,那么会把VC.view整体往上推,这样就出现了导航栏被推上去了的现象。用以下流程图可以更直观:

    绿线,是我们希望的结果 

    绿线是希望的结果,条件是有足够大的scrollView。导致导航栏上移的原因最终只有一个,没有可滑动视图而找到了self.view。所以,我们要制造一个足够大的scrollView

    网上方法:将VC.view设为scrollView是不可取的,因为,很多时候导航栏是自定义的,不是系统的,导航栏是加在self.view上的,如果self.view往上推,加在self.view上的东西,都统统往上推了,所以不可取。


    问题重现:

    黑色蒙版是View,输入框也是View,直接加在self.view上 空白部分是textView,高度比较高,导航被推上去


    一堆需要输入的控件都是加在scrollView上的,没有问题





    解决方法:

    把输入框放在一个足够大的scrollView上。想方设法制造一个大的scrollView。

    黑色蒙版类型设为scrollView 把控件加在scrollView上

    相关文章

      网友评论

          本文标题:关于IQKeyboard把导航栏顶上去的处理办法

          本文链接:https://www.haomeiwen.com/subject/kkwwlftx.html