您的位置:首页 > 移动开发 > IOS开发

IQKeyboardManager基本使用

2016-06-24 10:41 585 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息