文档章节

IQKeyboardManager键盘第三方库的使用

 小王爷还小
发布于 2016/12/23 10:33
字数 622
阅读 48
收藏 0

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

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

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

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

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

function1.gif

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

#import <IQKeyboardManager.h>
- (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]];

    return YES;
}

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

function2.gif


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

 [IQKeyboardManager sharedManager].enableAutoToolbar = NO;

3.可以将键盘上的return按键,变为Next/Done按键,默认最后一个UITextField/UITextView的键盘return键变为Done。顺序是按照创建控件的先后顺序,而不是从上到下的摆放顺序。

function3.gif


设置的代码如下:

#import <IQKeyboardReturnKeyHandler.h>
@implementation ViewController
{
    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。

图片.png


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

-(void)loadView
{
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.view = scrollView;
}

以上就是本人对IQKeyboardManager的功能简单理解,这个第三方库还有一些其他不怎么常用的功能,以后用到会继续更新。


 

文/chendong_(简书作者)
原文链接:http://www.jianshu.com/p/9d7d246bd350/comments/1518291
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 13
码字总数 11662
作品 0
私信 提问
iOS 键盘自适应(IQKeyboardManager)使用小结

IQKeyboardManager Github地址 经常在开发一个应用程序,我们遇到了一个问题,iPhone的键盘上滑覆盖的。可以防止键盘滑动问题和覆盖无需你输入任何代码,不需要额外的设置要求。使用IQKeybo...

法斗斗
2015/11/03
0
4
自动处理键盘事件的第三方库 IQKeyboardManager

这个库的下载地址:https://github.com/hackiftekhar/IQKeyboardManager 这个库是一个单例,它一旦生效,全项目任何界面都有效。让它生效的代码可以写在任意位置,我写在AppDelegate里。 - ...

泊竹
2015/03/09
0
12
Xcode7.2 使用CocoaPods添加第三方类库失败,无法编译出libPods.a文件

我正确安装了CocoaPods,然后创建了一个名为TestCocoaPods(项目类型为:Single View Application)的demo项目,并在项目的主目录下面增加了一个Profile文件,内容如下: pod 'PureLayout' pod...

八两俊
2016/02/18
4.1K
3
iOS常用的三方库

UI相关:(转载http://www.jianshu.com/p/be0401e35e06) 上拉下拉刷新控件: 链接:MJRefresh 动态启动图: 链接:YFStartView MBProgressHUD: 链接:MBProgressHUD 一个效果很好的弹出下拉框:...

oschina6k
2016/05/11
416
1
Lynd/OSChina For iphone

此项目是根据官方版本客户端重新写的。http://git.oschina.net/oschina/iphone-app 只支持ios8以上系统,项目中使用到了size class,以及ios8最新的api 使用cocoaspod管理第三方库。下载代码后...

Lynd
2015/01/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
10
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
16
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
15
0
CompletableFuture get方法一直阻塞或抛出TimeoutException

问题描述 最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响...

xiaolyuh
今天
8
0
dubbo 搭建与使用

官网:http://dubbo.apache.org/en-us/ 一,安装监控中心(可以不安装) admin管理控制台,monitor监控中心 下载 bubbo ops 这个是新版的,需要node.js环境,我没有就用老版的了...

小兵胖胖
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部