IQKeyboardManager是iOS中專門管理UITextField/UITextView控件被遮擋的第三方庫工具,並且簡單易用
github連接https://github.com/hackiftekhar/IQKeyboardManager
- 1.只要導入
#import "IQKeyboardManager.h"
就可以使用,並且每個界面都有效- 2.如果想讓某個界面無效可以設置
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[IQKeyboardManager sharedManager].enable = NO;
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[IQKeyboardManager sharedManager].enable = YES;
}
- 3.當我們導入IQKeyboardManager後默認會在鍵盤上出現一個工具條
如果不想使用可以設置
[IQKeyboardManager sharedManager].enableAutoToolbar = NO;這樣工具條就會消失。
- 4.如果想要更改鍵盤上的return鍵
//聲明一個變量
@interface ViewController ()
{
IQKeyboardReturnKeyHandler *returnKeyHandler;
}
@end
//在viewDidLoad中寫入
returnKeyHandler = [[IQKeyboardReturnKeyHandler alloc] initWithViewController:self];
//這樣鍵盤return會變成Next,只有當時最後一個時會變成return
- 5.點擊背景鍵盤下去
- (void)viewDidLoad {
[super viewDidLoad];
[IQKeyboardManager sharedManager].shouldResignOnTouchOutside = YES;
}
- 6.如果視圖有導航欄,上移View不想讓UINavgationBar消失
1.如果你使用的是storyboard or xib,只需將當前視圖視圖控制器中的UIView class變爲UIScrollView。
2.如果你使用的是代碼,你就需要覆蓋UIViewController中的-(void)loadView方法:
-(void)loadView
{
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.view = scrollView;
}
- 7.修改工具條上右側的Done按鈕
//設置爲文字
[IQKeyboardManager sharedManager].toolbarDoneBarButtonItemText = @"完成";
//設置爲圖片
[IQKeyboardManager sharedManager].toolbarDoneBarButtonItemImage = [UIImage imageNamed:@"imageName"];
- 8.修改工具條上字體的顏色
[IQKeyboardManager sharedManager].shouldToolbarUsesTextFieldTintColor = NO;
[IQKeyboardManager sharedManager].toolbarTintColor = [UIColor brownColor];
- 9.設置輸入框與工具條的間距,默認爲10.0f
[IQKeyboardManager sharedManager].keyboardDistanceFromTextField = 0.0f;
- 10防止IQKeyboardManager讓rootview上滑過度,默認是YES
[IQKeyboardManager sharedManager].preventShowingBottomBlankSpace = NO;
更多功能可以查看這篇博客:http://blog.csdn.net/jichunw/article/details/44197589