IQKeyboardManager的使用及一些坑的解决

在iOS APP的开发中,不能避免的要处理些键盘的相关显示效果,比如键盘遮挡了正在编辑的输入框,而设计又不可能变更的情况下,需要我们程序猿(媛)自己去处理视图随键盘一起滚动,让键盘不遮挡到正在编辑的输入框.但是这个处理自己写的话会相当的麻烦和耗时间,要写键盘的监听事件,并处理视图的frame或contentoffset,不可避免的代码量就上升了
而能方便我们解决这个问题的就是我今天想介绍的第三方IQKeyboardManager!
只要集成它,它能够自动处理我们大部分的键盘处理的需求比如上面说的问题,而不需要增加一行代码!!!

官方效果图

使用方法:

    github地址: https://github.com/hackiftekhar/IQKeyboardManager.git

下载直接拖入工程run起来到点击输入框,即可看到效果
或者

   cocoapods安装:   pod 'IQKeyboardManager', '~> 4.0.11'

接下来说下这个第三方不足的地方(可以说是坑)
1.如何禁用
因为IQKeyboardManager放入项目里就自动生效了,所以会导致我们在某些有特殊要求的界面不想要这个效果就得禁用它,但是找了网上一些帖子,有些并没有效果,然后自己研究实践给大家知道下

    [IQKeyboardManager sharedManager].enableAutoToolbar = NO;//禁用键盘上的toolbar 也就是按钮
    [IQKeyboardManager sharedManager].enable = NO;// 禁止键盘出现时的界面滚动

viewwillappear时调用 这个界面禁止IQKeyboardManager
viewdiddisappear时 可以把他们设为YES,再次打开IQKeyboardManager

2.键盘出现时界面的navigationBar会随着上移
这个bug也是困扰了我很久的一个问题,网上找了很多资料都是说把控制器的视图换成滚动视图的确是可以解决(在frame布局的情况下).

- (void)loadView  
{  
    [super loadView];  
     self.view = [[UIScrollView alloc] initWithFrame:self.view.bounds];  
}    

但是我现在用的是Masonry的约束布局,Masonry和scroll的相性本来就不好,把view一替换布局就全乱了完全没办法看.只能要么禁用IQKeyboardManager,要么界面用frame布局,暂时没找到在Masonry的最好解决办法
有解决办法的大神也请多多指教!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,005评论 4 61
  • 文/辣子 最近流行一股“另类鸡汤”,它不一定像以前那种鸡汤,看上去上面泛着油旺旺的光,还撒着小葱花,喝起来温温汤汤...
    辣子2006阅读 878评论 0 0
  • “别这么不自信,你能做到的。”我的语文老师曾对我这么说过。在那之后,我又问了我周围的人:“我是真的不自信吗?我语文...
    龍諭阅读 135评论 2 1
  • 一个多月前一个人带着勤宝的时候,时常觉得度日如年,妞妞怎么还不长大。如今才上班一个多月,却感到恍如隔世,总在过完了...
    哈咪喵阅读 298评论 0 0

友情链接更多精彩内容