iOS开发

iOS:IQKeyboardManager的使用

2018-11-02  本文已影响0人  棋剑千秋

因为好用,所以简单的记录一下,这里就不讲述它的功能了。

  1. 在当前界面完全启用/完全停用
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    /**
    //禁用
   [[IQKeyboardManager sharedManager] setEnable:NO];
    //启用
   [[IQKeyboardManager sharedManager] setEnable:YES];
    **/
}

2.在当前界面禁用IQKeyboard 的 Toolbar

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    /**
    //禁用
   [[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
    //启用
   [[IQKeyboardManager sharedManager] setEnableAutoToolbar:YES];
    **/
}

3.在当前界面完全禁用IQKeyboard 的 Toolbar 的 切换

//枚举
typedef NS_ENUM(NSUInteger, IQPreviousNextDisplayMode) {
    IQPreviousNextDisplayModeDefault,        默认一界面多输入框显示切换箭头  单输入框不显示
    IQPreviousNextDisplayModeAlwaysHide,     隐藏切换箭头
    IQPreviousNextDisplayModeAlwaysShow,     一直显示切换箭头(不受输入框个数限制) 
};
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    //隐藏
     [IQKeyboardManager sharedManager] .previousNextDisplayMode = IQPreviousNextDisplayModeAlwaysHide;
    //显示
    [IQKeyboardManager sharedManager] .previousNextDisplayMode = IQPreviousNextDisplayModeAlwaysShow;
}

上面就是IQKeyboardManager的使用情况了,也可以看下它还提供了一些比较常用的控件,不需要自己再去做继承实现了。


image.png

使用过程中出现的问题:
使用IQKeyboardManager有时会出现导航栏上移的情况,个人认为这是个缺陷,不知道为什么一直没有修复。查了下资料,最为简单的方法就是注释原码的一段代码,该代码在IQKeyboardManager>IQUIView+Hierarchy.m文件里:


image.png
这样就不会出现导航栏上移的情况了。
上一篇下一篇

猜你喜欢

热点阅读