IQKeyboardManager 刺骨的言语ヽ痛彻心扉 2022-04-13 04:22 333阅读 0赞 在iOS开发中,经常会出现在UITextField/UITextView中输入东西的时候,弹起的键盘遮挡住了页面下面,很不方便,IQKeyboardManager就是解决这一棘手问题的.而且IQKeyboardManager使用简单,无需添加任何代码,也不需要特别的设置,上手很快.只需要cocopods一下,轻松结局问题. IQKeyboardManager支持Objective-C和swift,另外, IQKeyboardManager是全局性质的额,也就是你pod之后,整个工程都会具有这个特性,如果某个页面不想这样,那么在哪个页面关闭这个功能就行. 下面简单介绍一下常用的几个小功能. 1.当键盘弹起的时候,自动上移View,使底部容易被遮挡的部分自动移动到键盘的上方。 ![366][] 当我们导入这个框架的时候,所有页面默认都有这个效果.无需做任何修改,当我们想在某个页面里不适用这个效果的时候,只要在这个页面导入头文件 #import <IQKeyboardManager.h> //头文件 再加入以下代码即可. - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; //写入这个方法后,这个页面将没有这种效果 [IQKeyboardManager sharedManager].enable = NO; } - (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; //最后还设置回来,不要影响其他页面的效果 [IQKeyboardManager sharedManager].enable = YES; } 2.当键盘弹起的时候,我们希望点击空白处,键盘可以收回,如下图2效果. ![366 1][] 当我们想实现图2的效果时,首先导入头文件 \#import <IQKeyboardManager.h> 再加入以下代码: - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; //点击背景收回键盘 [IQKeyboardManager sharedManager].shouldResignOnTouchOutside = YES; } - (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; } 写在viewWillAppear里面是为了在页面显示之前就有这个效果,提前加载. 3.在键盘上方有一个tooBar,当我们不想它显示出来的时候.加入下面这句代码. [IQKeyboardManager sharedManager].enableAutoToolbar = NO; 1. 键盘Return键的处理. 可以将键盘上Return键变为next键,点击进入下一个输入框,最后一个UITextField/UITextView的时候变为Done,点击收起键盘. ![366 2][] 首先导入头文件: #import <IQKeyboardReturnKeyHandler.h> 再写一个IQKeyboardReturnKeyHandler成员变量,并实例化.如下: @implementation XXSecondViewController { IQKeyboardReturnKeyHandler * _returnKeyHander; } - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; _returnKeyHander = [[IQKeyboardReturnKeyHandler alloc] initWithViewController:self]; } - (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; } IQKeyboardManager的底层其实就是写了一个sharedManager的单例,并重写了load方法,使其优先加载.这里只是简单常用的几个方法,已经够用. 这个框架功能强大,继续研究底层. 最后附上下载链接:[https://github.com/hackiftekhar/IQKeyboardManager][https_github.com_hackiftekhar_IQKeyboardManager] 链接:[https://www.jianshu.com/p/8412cfe5330f][https_www.jianshu.com_p_8412cfe5330f] [366]: /images/20220413/25847332a6534a398ee34bdd9bfb33a3.png [366 1]: /images/20220413/dabc15c5a981410d9b15aa4ffc40a72d.png [366 2]: /images/20220413/51e94c0258814412913684b100f8b9d7.png [https_github.com_hackiftekhar_IQKeyboardManager]: https://link.jianshu.com/?t=https%3A%2F%2Fgithub.com%2Fhackiftekhar%2FIQKeyboardManager [https_www.jianshu.com_p_8412cfe5330f]: https://www.jianshu.com/p/8412cfe5330f
相关 解决使用IQKeyboardManager 导致TableView 界面上移问题(复现条件:在cell上使用TextView 并且在willMoveToWindow获取焦点,用Masonry布局) 文章目录 引言 I 、原因分析 II、解决使UITableView 界面上移问题 解决方案1: 不要在willMoveToWindow让te 柔情只为你懂/ 2022年10月22日 13:51/ 0 赞/ 404 阅读
相关 iOS 键盘框架IQKeyboardManager使用 iOS 键盘框架IQKeyboardManager使用 AppDelegate.m文件中 import <IQKeyboardManager. 深藏阁楼爱情的钟/ 2022年06月09日 08:18/ 0 赞/ 486 阅读
相关 IOS11使用IQKeyboardManager导致tableview位置变形 项目里用了IQKeyboardManager来管理键盘弹起落下,当更新IOS11后,调出键盘然后落下有几率让界面变形,如下图: ![SouthEast][] 阳光穿透心脏的1/2处/ 2022年06月08日 14:50/ 0 赞/ 359 阅读
相关 IQKeyboardManager 在iOS开发中,经常会出现在UITextField/UITextView中输入东西的时候,弹起的键盘遮挡住了页面下面,很不方便,IQKeyboardManager就是解决这一棘 刺骨的言语ヽ痛彻心扉/ 2022年04月13日 04:22/ 0 赞/ 334 阅读
还没有评论,来说两句吧...