Перейти к содержанию
Fire Monkey от А до Я
  • 0

TWebBrowser показывает две клавиатуры в IOS


Сергей Сергеев

Вопрос

Обнаружил глюк, как исправить - не нашел, по вот этому обсуждению на Embe - похоже он с 15 года..

https://forums.embarcadero.com/thread.jspa?threadID=116534

Выглядит так, взял из примера WebBrowser, прописал в дизайне адрес, к примеру Яндекс,

и запускаю на Ифоне 5 - нажимаю Гоу, при клике на любой ссылке ( например на большой надписи Яндекс в центре), вдруг откдуда не возьмись - появляется клава - английская,

 

 

Спойлер

IMG_0024.thumb.PNG.70db7a40e7c226b50f16224811aef07e.PNG

 

которая Done, ничего никуда не вводит, и не прячется от слова Никак ( с экрана)

дальше - тапаем в поле ввода поиска, вылазит похоже еще одна, уже похоже ФМХ клава - со словом Готово, которая работает..

переключается и по готово - прячется.

 

 

Спойлер

IMG_0025.thumb.PNG.7a9580b73362b5db54897666a6197ab7.PNG

 

 

но после того как Готово спряталась - эта ( от Сафари чтоли ) остается, по Доне не скрывается, и при кликах по ссылкам - прячется и опять вылазит..

 

Спойлер

IMG_0026.thumb.PNG.ed8bd9e5ee73213039116a9270ff1ede.PNG

сделал то что написано в обсуждении, но это прячется только второй ( Доне)ТулБар - клавы две так и висят..

Ничего по теме не нашел, похоже глюк старый, и возможно уже решенный..

пс.  клавиатуры не две все таки, два тул бара, повесил на он хайд, он Шоу обработчики, происходит следующее, по Готово - прячется клава и сразу опять показывается уже без "готово" - с "доне".. она же сразу показывается при клике по ссылке..

 

Изменено пользователем Сергей Сергеев
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

добавлю, все это в последней, на сегодня Delphi 10.3.2. В то же время, такого не заметил на скомпиленной в 17 г. на Берлине, наверное, - открытие сайтов в отдельной форме и переход по ссылкам, не открывает не нужную клавиатуру.. Если не сложно, у кого Берлин, Сиеттл выложите FMX.VirtualKeyboard.iOS.pas  посравниваю.. Спасибо

Ссылка на комментарий
  • 0

Коллеги.. я только один это наблюдаю? может кто нибудь подтвердить или опровергнуть этот эффект.. 

воспроизводится просто.. берет из  Samle -Snippet - WebBrowser проект..

image.png.e3b75f00460e966eebc6e6f03fd3ec5f.png

 

запускаете на IOS ( там по умолчанию адрес Embarcadero  нажимаете ссылки на странице, и начинает вылазить клавиатура c Done, которая ничего никуда не вводит, и не закрывается по Done. 

А если есть поле для ввода ( поиск например) , то появляется 2 Бара + еще Готово. И клава все равно не закрывается.

Ссылка на комментарий
  • 0
6 часов назад, Евгений Корепов сказал:

Закиньте сюда тестовый проект, я проверю на своем устройстве.

вот прямо из примера поставки.. 

пс. получается пользоваться TWebBrowser в IOS затруднительно ( если Евгений подтвердит наличие глюка)

WebBrowser.7z

Ссылка на комментарий
  • 0

Да, легко удалось воспроизвести проблему - набрал yandex.ru, нажал Go (открылась страница), на странице нажал ссылку "Картинки" - появилась клавиатура, которая не получает фокуса, не реагирует на тыканье.

Среда 10.3.2, iPhone SE, iOS 12.3.1

Возможно проблема перекликается с https://quality.embarcadero.com/browse/RSP-25523

Screen Shot 2019-08-24 at 22.18.46.png

Ссылка на комментарий
  • 0
12 часов назад, Евгений Корепов сказал:

которая не получает фокуса,

спасибо за проверку..  и встает вопрос - как с этим жить?

такое впечатление, что клавиатура становится на что то, что определяется как окно ввода, и поэтому появляется, почему не прячется по Done - не понятно..

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

но этот частный случай не решает проблемы выскакивания клавы при хождении по сайту.. 

немного улучщил ситуацию так.. на onShouldLoadStartRequest , поставил активацию таймера, который через 100 мс - делает HideKeyBoard. Помогает, но не всегда.. Событие OnShoKeyBoard возникает при появлении фейковой клавы. Как бы понять , что она не нужна и захлопнуть, но все это пляски.. надо в Emb писать глюк - чтобы правили. Возможно это изза нового SDK Ios - в старой, в скомпиленной в 2017 г. версии в webBrowser такого не заметил. Куда заводить БагТрек, подскажите, или заведите, если не сложно..

Ссылка на комментарий
  • 0
1 час назад, Сергей Сергеев сказал:

спасибо за проверку..  и встает вопрос - как с этим жить?

такое впечатление, что клавиатура становится на что то, что определяется как окно ввода, и поэтому появляется, почему не прячется по Done - не понятно..

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

но этот частный случай не решает проблемы выскакивания клавы при хождении по сайту.. 

немного улучщил ситуацию так.. на onShouldLoadStartRequest , поставил активацию таймера, который через 100 мс - делает HideKeyBoard. Помогает, но не всегда.. Событие OnShoKeyBoard возникает при появлении фейковой клавы. Как бы понять , что она не нужна и захлопнуть, но все это пляски.. надо в Emb писать глюк - чтобы правили. Возможно это изза нового SDK Ios - в старой, в скомпиленной в 2017 г. версии в webBrowser такого не заметил. Куда заводить БагТрек, подскажите, или заведите, если не сложно..

Я в своем сообщении указал способ решения:

https://quality.embarcadero.com/browse/RSP-25523

Там Dave Nottage написал причину и способ исправления:

image.thumb.png.daf0a8db5e626d537db71edade83a397.png

Прикладываю архив с исправленным FMX.Platform.iOS.pas - положите в папку с проектом и все заработает нормально (я проверил).

P.S. Несчастный FMX.Platform.iOS.pas изуродовали в Рио бесчеловечно )) Какой то индус прошелся по нему в наркотическом угаре.

FMX.Platform.iOS.pas.7z

Ссылка на комментарий
  • 0
3 часа назад, Евгений Корепов сказал:

Прикладываю архив с исправленным FMX.Platform.iOS.pas

спасибо - завтра проверю на работе.. как то не провел параллель между тмемо и браузером.. 

 

Ссылка на комментарий
  • 0
3 часа назад, Сергей Сергеев сказал:

спасибо - завтра проверю на работе.. как то не провел параллель между тмемо и браузером.. 

 

Там видимо все контролы ControlType Platform подвержены этому глюку. А Браузер  - это нативный контрол по умолчанию.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...