Jump to content
  • Status: Fixed
  • Priority: Major
  • Resolution: Works as expected
  • Platform: iOS
  • Affects version: 1.11.2.0

Добрый день!

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

Демо во вложении

photo_2021-07-05_16-00-55.jpg

photo_2021-07-05_16-00-53.jpg

photo_2021-07-05_16-00-51.jpg

photo_2021-07-05_16-00-46.jpg

photo_2021-07-05_16-00-36.jpg

TListDemo.zip


User Feedback

Recommended Comments

  • Administrators

Добрый вечер,

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

Есть причины, по которой это поведение не удобно?

Roman

Active subscription

Добрый день, Ярослав!

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

  • Administrators

Добрый вечер,

Тут двоякая ситуация. Например,

1) Форма 1 инициировала открытие виртуальной клавиатуры.

2) Форма 1 перестроила свой UI пододвинув/прокрутив содержимое формы.

3) Форма 1 закрылась. Содержимое UI осталось на момент открытой формы.

4) Виртуальная клавиатура скрывается.

5) Форма 1 открывается.

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

На текущий момент он увидит заново перестроенный UI с учетом того, что клавиатура была скрыта ранее.

Если мы делаем поведение, согласно этому тикету, то на форме все содержимое будет сдвинуто, как будто клавиатура на экране. Так как событие не было вызвано, когда форма скрыта. И требуется доп действия по актуализации интерфейса.

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

Roman

Active subscription

Добрый день, Ярослав!

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

Спасибо!

Тикет можно закрывать 

  • Administrators

Изменено Статус на Fixed

Изменено Резолюция на Works as expected

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.