Как остановить мою пользовательскую клавиатуру от "плавающего" или отстыковать на iPad

У меня есть пользовательская клавиатура, которая отображается на определенном UITextField, когда я устанавливаю inputField textField в свой KeyboardView. Клавиатура работает фантастически хорошо, но стало очевидно, что клавиатура будет "плавать", если пользователь ранее отстегнул встроенную клавиатуру Apple или даже разделил ее.

Я искал много часов, чтобы гарантировать, что моя пользовательская клавиатура не будет действовать так, и вместо этого останется состыкованной в нижней части экрана, независимо от того, отменил ли пользователь ранее встроенную клавиатуру Apple.

self.keyboardInputView = [[[KeyboardInputViewController_iPad alloc]
                            initWithNibName:@"KeyboardInputViewController_iPad"
                            bundle:[NSBundle mainBundle]] autorelease];
self.keyboardInputView.delegate = self;                
self.keyboardInputView.keyboardTextField = myTextField;
myTextField.inputView = self.keyboardInputView.view;
[myTextField becomeFirstResponder];

Ответы

Ответ 1

Вы не должны этого делать, и нет способа сделать это.

Вы не можете переопределять пользовательские настройки с помощью специальной клавиатуры, особенно не те, которые могут улучшить доступность пользовательского интерфейса.

В учебнике вы можете включить предупреждение о том, что ваша клавиатура лучше всего работает при блокировке донизу, но вы должны задать себе вопрос: хорошо ли это UX или нет. Я бы сказал, что последний.