IQKeyboardManager 简介和使用详解
2017-07-28 13:57
399 查看
IQKeyboardManager是iOS中解决键盘弹起遮挡UITextField/UITextView的一种很实用的工具。无需输入任何代码,不需要额外的设置。使用IQKeyboardManager的你只需要将源文件添加到项目。 这里附上下载链接:https://github.com/hackiftekhar/IQKeyboardManager IQKeyboardManager支持Objective-C和swift,这里建议实用Cocoapod安装,很方便管理。 简单总结一下IQKeyboardManager最重要的功能有以下几点: 1.当键盘遮挡输入文本框的时候,自动上移View,使被遮挡的部分自动处于键盘的上方。 导入IQKeyboardManager后,默认所有的页面都有了这个功能,如果你在哪一个界面不想有这个效果可以在当前界面控制器的生命周期方法中进行设置: #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; } 或者在 AppDelegate中注册方法: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[IQKeyboardManager sharedManager] disableInViewControllerClass:[ViewController class]]; return YES; } 2.在键盘上会自动添加一个工具条,工具条上有左箭头和右箭头用来切换的输入文本框,还有完成按钮用来收回键盘。 你也可以不使用这个自动工具条,设置的代码如下: [IQKeyboardManager sharedManager].enableAutoToolbar = NO; 3.可以将键盘上的return按键,变为Next/Done按键,默认最后一个UITextField/UITextView的键盘return键变为Done。顺序是按照创建控件的先后顺序,而不是从上到下的摆放顺序。 设置的代码如下: #import <IQKeyboardReturnKeyHandler.h> @implementation ViewController { IQKeyboardReturnKeyHandler *returnKeyHandler; } - (void)viewDidLoad { [super viewDidLoad]; returnKeyHandler = [[IQKeyboardReturnKeyHandler alloc] initWithViewController:self]; } 4.设置点击背景收回键盘。 - (void)viewDidLoad { [super viewDidLoad]; [IQKeyboardManager sharedManager].shouldResignOnTouchOutside = YES; } 5.如果你的视图有导航栏,你不想上移View时,UINavigationBar消失,如function3.gif所示,你也可以进行相应设置: 如果你使用的是storyboard or xib,只需将当前视图视图控制器中的UIView class变为UIScrollView。 如果你使用的是代码,你就需要覆盖UIViewController中的'-(void)loadView' 方法: -(void)loadView { UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.view = scrollView; } 以上就是本人对IQKeyboardManager的功能简单理解,这个第三方库还有一些其他不怎么常用的功能,以后用到会继续更新。 文章有不妥当的地方,还望大神多多指点。
相关文章推荐
- IQKeyboardManager的使用笔记
- IQKeyboardManager使用方法
- iOS使用IQKeyboardManager 的遇到的问题
- IQKeyboardManager第三方库的使用
- IQKeyboardManager使用导致UINavigationController导航控制器移位异常
- IQKeyboardManager基本使用
- IQKeyboardManager使用方法
- IQKeyboardManager使用导航上移问题
- IOS11使用IQKeyboardManager导致tableview位置变形
- 聊天界面使用IQKeyboardManager导航栏及整个页面上移的解决方法
- iOS开发 --- IQKeyboardManager使用
- 关于使用IQKeyBoardManager键盘还是被遮挡的问题解决方案
- iOS 之IQKeyboardManager键盘的使用
- IQKeyboardManager基本使用
- iOS 键盘框架IQKeyboardManager使用
- iOS 键盘框架IQKeyboardManager使用
- IQKeyboardManager 的使用注意
- IQKeyboardManager 的使用注意
- IQKeyboardManager基本使用心得
- IQKeyboardManager使用方法