iOS系统提供了多种键盘,我们可以通过Enum类型设置。但有的时候由于某些特殊业务的需要,我们不得不自定义键盘。
说到自定义键盘,就离不开inputView
和inputAccessoryView
了。
inputView
是键盘的主体部分,inputAccessoryView
则相当于键盘上的工具栏。
UITextInput 协议
键盘构建的重点在于将输出的内容显示到输入框中。由于输入框都遵循了<UITextInput>
协议,所以只需要根据协议来获取输入框相关状态、改变输入框的文本便可。
这里我们通过UITextInput协议参考,找到对应的协议方法,来对输入框文本做一些简单的更改。
//退格
- (void)event_delete
{
UIResponder <UITextInput>*firstResponse = (id)self.nextResponder;
[firstResponse deleteBackward];
}
//输入字符串
- (void)event_addCharacter:(NSString *)string
{
UIResponder <UITextInput> *firstResponse = (id)