原理:
1.使用的三方键盘,直接将键盘view加载到父view上
2.重写输入框的inputView方法
- (UIView *)inputView{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 2)];
view.backgroundColor = [UIColor redColor];
return view;
}
这时点击输入框的时候将弹出这个高度只有2的view。
3.这时候点击自定义的键盘通过代码将内容展示到输入框中,第一响应的光标也不会消失
4.看一下UITextField关于inputView属性的注释
// Presented when object becomes first responder. If set to nil, reverts to following responder chain. If
// set while first responder, will not take effect until reloadInputViews is called.
@property (nullable, readwrite, strong) UIView *inputView;
当对象成为第一个响应程序时,会弹出这个view。
如果设置为nil,则按程序链响应下一个。
已经是第一响应的时候设置不会生效。