IQKeyboardManager的GitHub地址
每一個iOS應用的開發(fā)者在工作中都會遇到需要用戶鍵盤輸入數(shù)據(jù)的需求誓军,而輸入框(UITextField/UITextView)的父界面可能是普通的UIView畏浆,也可能是UIScrollView徙鱼,UITableView把敞,UICollectionView 等圾叼。而如果輸入框位于屏幕的底部,彈起的鍵盤很可能覆蓋輸入框盛泡,導致用戶就看不到輸入結果闷祥,體驗較差。
IQKeyboardManager為此應運而生,使用IQKeyboardManager可以很容易地解決彈起鍵盤遮蓋輸入框的問題凯砍,并且易于集成箱硕,滿足大部分需求只需要少于5行代碼。更讓人驚喜的是IQKeyboardManager已經(jīng)提供Swift版本悟衩。
IQKeyboardManager的使用?
首先下載第三方庫源碼導入已有項目中(也可以使用CocoaPods), 然后只需要一行代碼就可控制自動鍵盤處理事件在整個項目內是否啟用剧罩。
// iOS delegate內應用入口
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
IQKeyboardManager*manager = [IQKeyboardManagersharedManager];
manager.enable = YES; //關閉設置為NO, 默認值為NO.
manager.shouldResignOnTouchOutside=YES; //控制點擊背景是否收起鍵盤。
manager.shouldToolbarUsesTextFieldTintColor=YES; //控制鍵盤上的工具條文字顏色是否用戶自定義
manager.enableAutoToolbar=NO; //控制是否顯示鍵盤上的工具條
manager.toolbarManageBehaviour=IQAutoToolbarBySubviews;?
}
在需要用到的控制器中持有這個鍵盤管理工具
@property(nonatomic,strong)IQKeyboardReturnKeyHandler*returnKeyHandler;
- (void)viewDidLoad {
self.returnKeyHandler= [[IQKeyboardReturnKeyHandleralloc]initWithViewController:self];
self.returnKeyHandler.lastTextFieldReturnKeyType=UIReturnKeyDone;
}