这个库的下载地址:https://github.com/hackiftekhar/IQKeyboardManager
AppDelegate.m文件中
#import
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
IQKeyboardManager*manager = [IQKeyboardManagersharedManager];
//控制整个功能是否启用。
manager.enable=YES;
manager.overrideKeyboardAppearance=YES;
//控制点击背景是否收起键盘
manager.shouldResignOnTouchOutside=YES;
// //控制键盘上的工具条文字颜色是否用户自定义。注意这个颜色是指textfile的tintcolor
// manager.shouldToolbarUsesTextFieldTintColor = YES;
// //中间位置是否显示占位文字(默认是YES)
// manager.shouldShowTextFieldPlaceholder = YES;
// //设置占位文字的字体大小
manager.placeholderFont= [UIFontboldSystemFontOfSize:18];
//控制是否显示键盘上的工具条。
manager.enableAutoToolbar=YES;
//某个类中禁止使用工具条
// [[IQKeyboardManager sharedManager]disableToolbarInViewControllerClass:[UIViewController class]];
returnYES;
}
enable控制整个功能是否启用。
shouldResignOnTouchOutside控制点击背景是否收起键盘。
shouldToolbarUsesTextFieldTintColor 控制键盘上的工具条文字颜色是否用户自定义。
enableAutoToolbar控制是否显示键盘上的工具条。
以上设置,就启用了这个库。
使用方法,代码如下:
#import"ViewController.h"
@interfaceViewController()
@property(nonatomic,strong) IQKeyboardReturnKeyHandler *returnKeyHandler;
@end
@implementationViewController
- (void)viewDidLoad {
[superviewDidLoad];
self.returnKeyHandler = [[IQKeyboardReturnKeyHandler alloc] initWithViewController:self];
self.returnKeyHandler.lastTextFieldReturnKeyType =UIReturnKeyDone;
self.returnKeyHandler.toolbarManageBehaviour = IQAutoToolbarBySubviews;
}
- (void)dealloc{
self.returnKeyHandler =nil;
}
@end
设置returnKeyHandler,可以点击键盘上的next键,自动跳到下一个输入框。最后一个输入框点击done自动收起键盘。
运行后,可以看到输入框随着键盘的弹出自动上下浮动。点击背景,键盘收起。全自动了。
这个库默认支持UITextField、UITextView、UIWebView、UIScrollView、UITableView、UICollectionView
最后要注意一点,它可以自动计算多个textField之间的先后顺序,排列依据是看addSubView的先后顺序。