Phonegap: całkowite usunięcie czarnego paska z klawiatury iPhone'a

Korzystamy z Phonegap, aby opracować naszą aplikację mobilną, i pożyczyliśmy tutaj kod, aby usunąć czarny pasek następny / poprzedni / gotowy z klawiatury:

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

Kod ten znajduje czarny pasek jako obiekt UIView i wywołuje na nim „removeFromSuperview”.

Nie znamy zestawu SDK / API iOS. Więc kiedy możemy spojrzeć na kod i dowiedzieć się, co robi, nie możemy stwierdzić, czy robi to poprawnie, czy też jak go ulepszyć.

Konkretny problem, na który natrafiamy:

Mamy pole tekstowe do pisania wiadomości i ręcznie kontrolujemy położenie tego pola tak, aby znajdowało się dokładnie nad klawiaturą, podobnie jak natywna aplikacja sms. Innymi słowy, umieszczamy to tam, gdzie miał być czarny pasek.

Kiedy skupiamy się / wpisujemy pole komunikatu, system przesuwa widok do góry. Wygląda na to, że jest to mechanizm, który upewnia się, że pole tekstowe nie jest niewidoczne, gdy użytkownik w nim wpisuje.

Dzieje się tak nawet w polu tekstowymjest widoczny.

Zauważyłem, że umieszczając pole wejściowe tuż nad tym, gdzie normalnie znajdowałby się czarny pasek (w przeciwieństwie do niego), widok się nie przewija.

Wygląda na to, że system w jakiś sposób myśli, że czarny pasek wciąż tam jest!

(Aby podwójnie sprawdzić: kiedy czarny pasek nie zostanie usunięty, a my umieścimy pole tekstowe tuż nad nim, możemy go skupić i wpisać, a widok nie będzie się przewijał).

Więc pytanie brzmi:

Dlaczego „system” przesuwa zawartość w górę podczas edycji pola tekstowego, które jest umieszczone „za” tam, gdzie powinien znajdować się czarny pasek? Czy to dlatego, że czarny pasek nie został jeszcze całkowicie usunięty? Czy musimy coś zrobić, aby „całkowicie” usunąć czarny pasek? Czy musimy zmusić system iOS do ponownego obliczenia rozmiaru klawiatury? czy co dokładnie?

Czy ten mechanizm (przesuwając widok) jest zaimplementowany przez UIWebView systemu iOS lub przez Phonegap?

Czy jest jakaś aplikacja do łączenia telefonów, która rozwiązała ten problem?

questionAnswers(2)

yourAnswerToTheQuestion