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