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