美文网首页iOS tipsiOS学习记录
IQKeyboardManager - 键盘事件处理(1)

IQKeyboardManager - 键盘事件处理(1)

作者: 居然是村长 | 来源:发表于2016-05-10 23:28 被阅读2953次

https://github.com/hackiftekhar/IQKeyboardManager/tree/v3.3.7
star 5000 +

这个使用不需要任何设置,拖入框架即可,自动控制键盘弹出事件。对任何输入控件全部有效。
注:该框架表示,如果出问题,比如兼容性问题等,概不负责;
注2:3.3.7 支持ios7。4.0开始只支持iOS8了。

可能会用

// 设置输入框与键盘间距
    [IQKeyboardManager sharedManager].keyboardDistanceFromTextField = 44.;
    
// 默认键盘上面有toolbar,不要的话设置NO
    [IQKeyboardManager sharedManager].enableAutoToolbar = NO;
    

// 这个注意,是按照代码顺序的上一个下一个。
    if ([[IQKeyboardManager sharedManager] canGoNext]) {
        [[IQKeyboardManager sharedManager] goNext];
    } else {
        [self.view endEditing:YES];
    }

其他

toolbar 也可以自定义。
一般也没有什么其他好设置的。

问题

1.由于全屏布局下,对viewController上的第一个scrollerView,会有contentInset 自动添加64px,IQKeyboard 对scrollerView做了处理,使得contentInset与scrollerView一致,相当于有添加了64px;但是在键盘隐藏时,并没有-64处理,所有会导致本来可能不会滚动的scrollerView,变成可以滚动。
解决1:self.automaticallyAdjustsScrollViewInsets = NO;
解决2:xib或者sb中直接将self.view 继承UUIScrollerView;但是约束方面自己注意。

1

相关文章

网友评论

  • Felix灬泡泡:使用IQKeyboardManager,在UITableViewController点击空白区域,键盘不退出,怎么解决?(XCode 8.1) :sob:
  • feng_dev:你写的这么好,居然只有我评论
    蜂蜜柚子茶v:@说了是村长 14个人,我没好意思申请。。。
    居然是村长:@枫子哥 群号码:433083619。暂时没人。要不要来。:stuck_out_tongue_winking_eye:
    居然是村长:@枫子哥 写的一般般啦。谢谢。:smile:
  • feng_dev:我有个问题,就是在tabbar item 点击后的选中状态 还能再次选中 ,就是 第一次选中 是一个表, 在已经选中的基础上 再次 选中 是 一个拨号键盘 这怎么做
    居然是村长:@枫子哥 亲测。control的可以,
    feng_dev:@说了是村长 这个我知道了,就是具体实现还有点问题,还有,那个UITabbar delegate 和 UITabbar controller delegate 这两个代理 有什么差别 呢 ? 如果同时重写 名字几乎相同的 代理方法 , 就只执行 tabbar delegate 的不执行 controller delegate 的 那我用那个好?
    居然是村长:@枫子哥 你去tabbarviewcontroller 的代理里面判断。点击与选中效果等,
  • feng_dev:不过写的还是不够全,其他好多博客写的都是默认的是吧,就是写不写都一样的。
    feng_dev:@说了是村长 你这些写的言简意赅 哈哈
    feng_dev:@说了是村长 恩
    居然是村长:@枫子哥 什么都不写是默认的。manager 是可以自己定义一些属性的。写了还是不一样的啊。
  • feng_dev:很实用,666
    居然是村长:@枫子哥 谢谢。好好学习。

本文标题:IQKeyboardManager - 键盘事件处理(1)

本文链接:https://www.haomeiwen.com/subject/agbyrttx.html