Текстовое поле остается под пользовательской клавиатурой в UIWebView для iOS 8

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

#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 похожа на эту библиотеку. Любая помощь будет оценена.

1 ответ

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

Другие вопросы по тегам