Phonegap: removendo completamente a barra preta do teclado do iPhone

Estamos usando o Phonegap para desenvolver nosso aplicativo móvel e pegamos emprestado o código daqui para remover a barra preta next / prev / done do teclado:

https://stackoverflow.com/a/9276023/35364

O que esse código faz é encontrar a barra preta, como um objeto UIView, e chama 'removeFromSuperview' nela.

Não estamos familiarizados com o iOS SDK / API. Então, enquanto podemos olhar para o código e ter uma ideia do que está fazendo, não podemos dizer se ele está sendo feito corretamente ou como melhorá-lo.

O problema específico em que estamos nos deparando:

Temos um campo de texto para escrever uma mensagem e controlamos manualmente o posicionamento deste campo exatamente acima do teclado, semelhante ao aplicativo sms nativo. Em outras palavras, estamos colocando onde a barra preta deveria estar.

Quando nos concentramos / digitamos no campo da mensagem, o sistema empurra a visualização para cima. Parece que este é um mecanismo para garantir que o campo de texto não fique invisível quando o usuário digita.

Isso está acontecendo mesmo que o campo de textoé visível.

Eu notei que, colocando o campo de entrada logo acima de onde a barra preta estaria normalmente (como oposto a ela por trás), a visualização não rola.

Então parece que o sistema acha que a barra preta ainda está lá!

(Para checar novamente: quando a barra preta não é removida e colocamos o campo de texto logo acima dela, podemos nos concentrar e digitar nela, e a visualização não rolaria).

Então a questão é:

Por que o "sistema" empurra o conteúdo para cima ao editar um campo de texto que está localizado "atrás" onde a barra preta deveria estar? É porque a barra preta ainda não está completamente removida? Precisamos fazer algo para "remover" completamente a barra preta? Precisamos forçar o iOS a recalcular o tamanho do teclado? ou o que exatamente?

Esse mecanismo (aumentando a visualização) implementado pelo UIWebView do iOS ou pelo Phonegap?

Existe algum aplicativo phonegap que resolveu este problema?

questionAnswers(2)

yourAnswerToTheQuestion