浅谈IQKeyboardManager第三方库的使用

http://www.jianshu.com/p/9d7d246bd350

IQKeyboardManager是iOS中解决键盘弹起遮挡UITextField/UITextView的一种很实用的工具。无需输入任何代码,不需要额外的设置。使用IQKeyboardManager的你只需要将源文件添加到项目。

这里附上下载链接:https://github.com/hackiftekhar/IQKeyboardManager

IQKeyboardManager支持Objective-C和swift,这里建议实用Cocoapod安装,很方便管理。

简单总结一下IQKeyboardManager最重要的功能有以下几点:

1.当键盘遮挡输入文本框的时候,自动上移View,使被遮挡的部分自动处于键盘的上方。

function1.gif

)

导入IQKeyboardManager后,默认所有的页面都有了这个功能,如果你在哪一个界面不想有这个效果可以在当前界面控制器的生命周期方法中进行设置:

#import

-

(void)viewWillAppear:(BOOL)animated{

[super

viewWillAppear:animated];

[IQKeyboardManager

sharedManager].enable = NO;

}

-

(void)viewWillDisappear:(BOOL)animated{

[super

viewWillDisappear:animated];

[IQKeyboardManager

sharedManager].enable = YES;

}

或者在

AppDelegate中注册方法:

-

(BOOL)application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

[[IQKeyboardManager

sharedManager] disableInViewControllerClass:[ViewController class]];

returnYES;

}

2.在键盘上会自动添加一个工具条,工具条上有左箭头和右箭头用来切换的输入文本框,还有完成按钮用来收回键盘。

function2.gif

你也可以不使用这个自动工具条,设置的代码如下:

[IQKeyboardManagersharedManager].enableAutoToolbar = NO;

3.可以将键盘上的return按键,变为Next/Done按键,默认最后一个UITextField/UITextView的键盘return键变为Done。

顺序是按照创建控件的先后顺序,而不是从上到下的摆放顺序。

function3.gif

设置的代码如下:

#import

@implementationViewController

{

IQKeyboardReturnKeyHandler* returnKeyHandler;

}

-(void)viewDidLoad

{

[super viewDidLoad];

returnKeyHandler= [[IQKeyboardReturnKeyHandler alloc] initWithViewController:self];

}

4.设置点击背景收回键盘。

-(void)viewDidLoad {

[super viewDidLoad];

[IQKeyboardManager sharedManager].shouldResignOnTouchOutside = YES;

}

5.如果你的视图有导航栏,你不想上移View时,UINavigationBar消失,如function3.gif所示,你也可以进行相应设置:

如果你使用的是storyboard or xib,只需将当前视图视图控制器中的UIView class变为UIScrollView。

如果你使用的是代码,你就需要覆盖UIViewController中的'-(void)loadView'

方法:

-(void)loadView

{

UIScrollView *scrollView =[[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

self.view = scrollView;

}


原文链接:http://www.jianshu.com/p/9d7d246bd350

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容