這個(gè)庫(kù)是一個(gè)單例,它一旦生效,全項(xiàng)目任何界面都有效。讓它生效的代碼可以寫在任意位置,我寫在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控制整個(gè)功能是否啟用。
shouldResignOnTouchOutside控制點(diǎn)擊背景是否收起鍵盤。
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;
}
設(shè)置returnKeyHandler,可以點(diǎn)擊鍵盤上的next鍵,自動(dòng)跳到下一個(gè)輸入框。最后一個(gè)輸入框點(diǎn)擊done自動(dòng)收起鍵盤。
運(yùn)行后,可以看到輸入框隨著鍵盤的彈出自動(dòng)上下浮動(dòng)。點(diǎn)擊背景,鍵盤收起。全自動(dòng)了。
這個(gè)庫(kù)默認(rèn)支持UITextField、UITextView、UIWebView、UIScrollView、UITableView、UICollectionView
最后要注意一點(diǎn),它可以自動(dòng)計(jì)算多個(gè)textField之間的先后順序,排列依據(jù)是看addSubView的先后順序。