iOS 零行代码实现键盘自适应

iOS 零行代码实现键盘自适应之(IQKeyboardManager)

一、主要特点

无需你输入任何代码,不需要额外的设置要求。使用IQKeyboardManager你只需要添加源文件到你的项目。

二、 IQKeyboardManager 支持 CocoaPods

1.使用CocoaPods管理第三方类库 IQKeyboardManager

pod ‘IQKeyboardManager’

2.导入头文件(这步可省略)

#import "IQKeyboardManager.h"

3.如果你不使用storyboard或xib创造你的视图。你需要重写-(void)UIViewController loadview方法,需要设置一个UIScrollView实例self.view。

-(void)loadView  

{ 

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

 self.view = scrollView; 

}

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


回收键盘测试1.gif

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


回收键盘测试2.gif

6.你也可以不使用这个自动工具条,设置的代码如下:
 [IQKeyboardManager sharedManager].enableAutoToolbar = NO;

7.为某一个ViewController禁用IQKeyboardManager

如果你想在某个 viewcontroller 禁用 IQKeyboardManager 你应该在 ViewDidAppear 中禁用IQKeyboardManager,而在ViewWillDisappear启用它
代码:

#import "IQKeyboardManager.h"
@implementation ExampleViewController
{
    BOOL _wasKeyboardManagerEnabled;
}

-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    _wasKeyboardManagerEnabled = [[IQKeyboardManager sharedManager] isEnabled];
    [[IQKeyboardManager sharedManager] setEnable:NO];
}

-(void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [[IQKeyboardManager sharedManager] setEnable:_wasKeyboardManagerEnabled];
}
@end

8.把键盘的done改为“完成”

效果图.png

IQUIView+IQKeyboardToolbar.m文件里面,找到这一个,替换成initWIthTitle这个方法

//  IQBarButtonItem *doneButton =[[IQBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:target action:doneAction];
IQBarButtonItem *doneButton =[[IQBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:target action:doneAction];

是不是很心动,赶紧测试吧❤️

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

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,223评论 4 61
  • 今年的一月,我们小三口去了泰国,在曼谷时,第一次,一个人带娃乘地铁出去玩。 二月,回六安陪父母过了个团圆年,在家前...
    明媚Sopy阅读 386评论 11 6
  • 最近,发现自已一些变化,有好有坏,但也是我自己认知中的喜欢与不喜欢的。人类学,心理学,社会学这些东西,说白了就是在...
    CUICUI晴阅读 455评论 0 3
  • 有病。 自以为是。 强加性思维。 无需理会!
    热拿铁和无糖阅读 375评论 0 0
  • 《依靠》我住在北山顶上,俯视众生。众生亦俯视我;我俯视那遥远心儿的回归,众生亦俯视那智慧余光的风采。我因为那心儿而...
    a苏格拉底阅读 377评论 0 0