iOS中IQKeyboardManager的运用
一、使用场景
在你开发App的过程中,如果遇到上下有多个UITextField或UITextView,你准备输入文字,这个时候弹出的键盘可能将底层的覆盖掉,这样的话,你就不能边输入边检查输入的内容了。当然,你也可以通过其他方式如通知,监测键盘弹出时的高度,从而提升整个视图的高度,达到可以看到底层内容的目的,但是这样就有点复杂了,而使用这个库,你只需要导入就可以了,不需要写多余的代码。效果图见下:
效果图二、库的特点
1、0行代码
2、自动工作
3、没有更多的UIScrollView
4、没有更多的人为工作
5、没有更多的#imports
IQKeyboardManager可以在任何方向的界面上工作,也可以有toolBar。允许你定制键盘距离UITextField或UITextView的距离,在键盘上面的UIToolBar添加前一个/后一个/done按钮,当用户在文本框之间切换时播放声音。
三、版本要求
系统版本要求 Swift Versions Support四、安装说明
1、如果你使用的是Objective-C
Objective-C下通过CocoaPods导入2、如果你使用的是Swift
Swift下通过CocoaPods导入 Swift下开启功能五、使用说明
(1)控制自动键盘功能启用与否
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//默认为YES,关闭为NO
[IQKeyboardManager sharedManager].enable = YES;
}
(2)键盘弹出时,点击背景,键盘收回
[IQKeyboardManager sharedManager].shouldResignOnTouchOutside = YES;
(3)隐藏键盘上面的toolBar,默认是开启的
[IQKeyboardManager sharedManager].enableAutoToolbar = NO;
(4)如果某一个文本框确实不需要键盘上面的toolBar
textField.inputAccessoryView = [[UIView alloc] init];
(5)如果某个页面不想让键盘弹出
- (void) viewWillAppear: (BOOL)animated {
//关闭自动键盘功能
[IQKeyboardManager sharedManager].enable = NO;
}
- (void) viewWillDisappear: (BOOL)animated {
//开启自动键盘功能
[IQKeyboardManager sharedManager].enable = YES;
}
附:常见问题处理
附:github地址