這個庫是一個單例,它一旦生效,全項目任何界面都有效。讓它生效的代碼可以寫在任意位置,我寫在AppDelegate里。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
IQKeyboardManager?*manager?=?[IQKeyboardManager?sharedManager];
manager.enable?=?YES;
manager.shouldResignOnTouchOutside?=?YES;
manager.shouldToolbarUsesTextFieldTintColor?=?YES;
manager.enableAutoToolbar?=?NO;
return YES;
}
enable控制整個功能是否啟用。
shouldResignOnTouchOutside控制點擊背景是否收起鍵盤。
shouldToolbarUsesTextFieldTintColor 控制鍵盤上的工具條文字顏色是否用戶自定義。
enableAutoToolbar控制是否顯示鍵盤上的工具條。
@property (nonatomic, strong) IQKeyboardReturnKeyHandler? ? *returnKeyHandler;
- (void)viewDidLoad {
[super?viewDidLoad];
self.returnKeyHandler?=?[[IQKeyboardReturnKeyHandler?alloc]?initWithViewController:self];
self.returnKeyHandler.lastTextFieldReturnKeyType?=?UIReturnKeyDone;
self.returnKeyHandler.toolbarManageBehaviour?=?IQAutoToolbarBySubviews;
}
設置returnKeyHandler,可以點擊鍵盤上的next鍵,自動跳到下一個輸入框。最后一個輸入框點擊done自動收起鍵盤。
運行后,可以看到輸入框隨著鍵盤的彈出自動上下浮動。點擊背景,鍵盤收起。全自動了。
這個庫默認支持UITextField、UITextView、UIWebView、UIScrollView、UITableView、UICollectionView
最后要注意一點,它可以自動計算多個textField之間的先后順序,排列依據(jù)是看addSubView的先后順序。