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