這個(gè)庫的下載地址:https://github.com/hackiftekhar/IQKeyboardManager
AppDelegate.m文件中
#import
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
IQKeyboardManager*manager = [IQKeyboardManagersharedManager];
//控制整個(gè)功能是否啟用。
manager.enable=YES;
manager.overrideKeyboardAppearance=YES;
//控制點(diǎn)擊背景是否收起鍵盤
manager.shouldResignOnTouchOutside=YES;
//??? //控制鍵盤上的工具條文字顏色是否用戶自定義。注意這個(gè)顏色是指textfile的tintcolor
//??? manager.shouldToolbarUsesTextFieldTintColor = YES;
//??? //中間位置是否顯示占位文字(默認(rèn)是YES)
//??? manager.shouldShowTextFieldPlaceholder = YES;
//??? //設(shè)置占位文字的字體大小
manager.placeholderFont= [UIFontboldSystemFontOfSize:18];
//控制是否顯示鍵盤上的工具條。
manager.enableAutoToolbar=YES;
//某個(gè)類中禁止使用工具條
//??? [[IQKeyboardManager sharedManager]disableToolbarInViewControllerClass:[UIViewController class]];
returnYES;
}
enable控制整個(gè)功能是否啟用。
shouldResignOnTouchOutside控制點(diǎn)擊背景是否收起鍵盤。
shouldToolbarUsesTextFieldTintColor 控制鍵盤上的工具條文字顏色是否用戶自定義。
enableAutoToolbar控制是否顯示鍵盤上的工具條。
以上設(shè)置,就啟用了這個(gè)庫。
使用方法,代碼如下:
#import"ViewController.h"
@interfaceViewController()
@property(nonatomic,strong) IQKeyboardReturnKeyHandler? ? *returnKeyHandler;
@end
@implementationViewController
- (void)viewDidLoad {?
? [superviewDidLoad];
self.returnKeyHandler = [[IQKeyboardReturnKeyHandler alloc] initWithViewController:self];
self.returnKeyHandler.lastTextFieldReturnKeyType =UIReturnKeyDone;
self.returnKeyHandler.toolbarManageBehaviour = IQAutoToolbarBySubviews;
}
- (void)dealloc{
self.returnKeyHandler =nil;
}
@end
設(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è)庫默認(rèn)支持UITextField、UITextView、UIWebView、UIScrollView、UITableView、UICollectionView
最后要注意一點(diǎn),它可以自動(dòng)計(jì)算多個(gè)textField之間的先后順序,排列依據(jù)是看addSubView的先后順序。