IQKeyboardManager是iOS中解決鍵盤彈起遮擋UITextField/UITextView的一種很實(shí)用的工具爬立。無需輸入任何代碼,不需要額外的設(shè)置区匣。使用IQKeyboardManager的你只需要將源文件添加到項(xiàng)目。
這里附上下載鏈接:https://github.com/hackiftekhar/IQKeyboardManager
IQKeyboardManager支持Objective-C和swift,這里建議實(shí)用Cocoapod安裝,很方便管理。
簡單總結(jié)一下IQKeyboardManager最重要的功能有以下幾點(diǎn):
1.當(dāng)鍵盤遮擋輸入文本框的時候蚓聘,自動上移View,使被遮擋的部分自動處于鍵盤的上方盟劫。
function1.gif
)
導(dǎo)入IQKeyboardManager后夜牡,默認(rèn)所有的頁面都有了這個功能,如果你在哪一個界面不想有這個效果可以在當(dāng)前界面控制器的生命周期方法中進(jìn)行設(shè)置:
#import
- (void)viewWillAppear:(BOOL)animated{[superviewWillAppear:animated]; [IQKeyboardManager sharedManager].enable=NO;}- (void)viewWillDisappear:(BOOL)animated{[superviewWillDisappear:animated]; [IQKeyboardManager sharedManager].enable=YES;}
或者在 AppDelegate中注冊方法:
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {? [[IQKeyboardManager sharedManager] disableInViewControllerClass:[ViewController class]];returnYES;}
2.在鍵盤上會自動添加一個工具條侣签,工具條上有左箭頭和右箭頭用來切換的輸入文本框塘装,還有完成按鈕用來收回鍵盤。
function2.gif
你也可以不使用這個自動工具條影所,設(shè)置的代碼如下:
[IQKeyboardManager sharedManager].enableAutoToolbar=NO;
3.可以將鍵盤上的return按鍵蹦肴,變?yōu)镹ext/Done按鍵,默認(rèn)最后一個UITextField/UITextView的鍵盤return鍵變?yōu)镈one猴娩。順序是按照創(chuàng)建控件的先后順序阴幌,而不是從上到下的擺放順序勺阐。
function3.gif
設(shè)置的代碼如下:
#import
@implementationViewController{? ? IQKeyboardReturnKeyHandler *returnKeyHandler;}- (void)viewDidLoad{? ? [superviewDidLoad];? ? returnKeyHandler = [[IQKeyboardReturnKeyHandler alloc] initWithViewController:self];}
4.設(shè)置點(diǎn)擊背景收回鍵盤。
- (void)viewDidLoad {? ? [superviewDidLoad];? ? [IQKeyboardManager sharedManager].shouldResignOnTouchOutside=YES;}
5.如果你的視圖有導(dǎo)航欄矛双,你不想上移View時,UINavigationBar消失渊抽,如function3.gif所示,你也可以進(jìn)行相應(yīng)設(shè)置:
如果你使用的是storyboard or xib议忽,只需將當(dāng)前視圖視圖控制器中的UIView class變?yōu)閁IScrollView懒闷。
圖片.png
如果你使用的是代碼,你就需要覆蓋UIViewController中的'-(void)loadView' 方法:
-(void)loadView{UIScrollView*scrollView = [[UIScrollViewalloc] initWithFrame:[[UIScreenmainScreen] bounds]];self.view= scrollView;}
以上就是本人對IQKeyboardManager的功能簡單理解栈幸,這個第三方庫還有一些其他不怎么常用的功能愤估,以后用到會繼續(xù)更新。