Я сделал пользовательскую клавиатуру в своем приложении. Я создал его в конструкторе интерфейсов и сделал для него несколько файлов классов. В файлах классов я создал протокол для вызова некоторых методов делегата, когда пользователь нажимает на разные кнопки клавиатуры. По вашему мнению, что вы хотите иметь свою клавиатуру, просто добавьте UITextField, который имеет местоположение и размер (0,0,0,0). Текстовое поле будет служить только механизмом для запуска вашей клавиатуры. Затем в viewDidLoad или в подходящее время вы можете установить свой вид ввода UITextFields следующим образом:
self.myTextField.inputView = self.myKeyboard.view;
Не забудьте назначить себя делегатом своей клавиатуры.
self.myKeyboard.delegate = self;
Затем, когда пользователь делает что-то, что требует поднятия клавиатуры, просто вызовите на вашей клавиатуре, чтобы стать наявлением. Ключ должен сделать это на textField. Поскольку ваша клавиатура является видом ввода, она появится вместо этого.
[self.myTextField becomeFirstResponder];
Если ты хочешь уволить, просто подай в отставку.
[self.myTextField resignFirstResponder];
и любые кнопки, которые пользователь нажимает на клавиатуре, должны обрабатываться делегированием.
Удачи вам.