0

Я создаю веб-приложение для iOS, и у меня есть пользовательская клавиатура. Когда я использую клавиатуру по умолчанию, она сразу показывает клавиатуру, и текстовое поле находится над клавиатурой. Я бы получил такой же результат, если бы я сменил клавиатуру на свою пользовательскую клавиатуру. Но проблема в том, что я уделяю основное внимание текстовому полю, когда включена моя пользовательская клавиатура. Он имеет некоторую задержку для загрузки, и когда он загружается, текстовое поле остается под клавиатурой. Вот мой код для заказа keybaord:Текстовое поле остается под пользовательской клавиатурой в UIWebView для iOS 8

#import "KeyboardViewController.h" 
#import "CustomKeyboardView.h" 

@interface KeyboardViewController() <CustomKeyboardViewDelegate> 
@property (nonatomic, strong) CustomKeyboardView *customKeyboardView; 
@end 

@implementation KeyboardViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.customKeyboardView = [[CustomKeyboardView alloc] init]; 
    self.inputView = (UIInputView *) self.customKeyboardView; 

    self.customKeyboardView.delegate = self; 
} 


- (void)handleCharacter:(NSString *)character sender:(CustomKeyboardView *)sender 
{ 
    [self.textDocumentProxy insertText:character]; 
} 

-(void)handelDelete:(CustomKeyboardView *)sender 
{ 
    [self.textDocumentProxy deleteBackward]; 
} 
-(void)handleDismissKeyboard:(CustomKeyboardView *)sender 
{ 
    [self dismissKeyboard]; 
} 
-(void)handleChangeKeyboard:(CustomKeyboardView *)sender 
{ 
    [self advanceToNextInputMode]; 
} 


- (void)textWillChange:(id<UITextInput>)textInput { 
    // The app is about to change the document's contents. Perform any preparation here. 
} 

- (void)textDidChange:(id<UITextInput>)textInput { 
    // The app has just changed the document's contents, the document context has been updated. 
    [[NSNotificationCenter defaultCenter] postNotificationName:UITextViewTextDidChangeNotification object:textInput]; 
} 

@end 

Реализация класса CustomKeyboardView аналогична this библиотеки. Любая помощь будет оценена по достоинству.

+1

Эта задержка отображения пользовательской клавиатуры происходит со всеми. Я не знаю об исправлении, я подозреваю, что он будет исправлен в выпуске iOS8 GM. Наверное, сейчас это отложено для отладки. –

+0

Это исправлено в iOS 8 beta5 – Ezimet

ответ

0

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

+0

Когда нужно запускать клавиатуру? Не могли бы вы немного объяснить пример? – Hamid

Смежные вопросы