Delphi Firemonkey DX Seattle TTabControl неправильно перепечатывает внутри TVertScrollBox

Это работало в Delphi XE8

Вот пример проекта https://github.com/dangas56/DelphiDXSeattle-BrokenTabControl.

У нас есть VertScrollBox для случаев, когда клавиатура появляется на устройстве
и есть несколько элементов управления вкладками и элементы вкладок для переключения между экранами
заметили, что вкладки иногда не печатаются правильно в Delphi DX Seattle

Это пример кода для воспроизведения — вы можете скачать пример по ссылке git выше.

procedure TForm2.tbcMainChange(Sender: TObject);
begin
  if tbcMain.ActiveTab = tbtmSettings then
    tbcMain.TabPosition := TTabPosition.None
  else begin
    tbcMain.TabPosition := TTabPosition.Bottom;
  end;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
  tbcMain.ActiveTab := tbtmHome;
end;

Это пример домашнего экрана. Щелчок по второй вкладке устанавливает для TabPosition значение none на исходном tabControl (чтобы скрыть вкладки).
введите здесь описание изображения

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

введите здесь описание изображения

Как вы можете видеть ниже, он не перепечатывал элементы вкладки в нижней части экрана.

введите здесь описание изображения


person Dangas56    schedule 23.09.2015    source источник


Ответы (1)


Мы нашли временное исправление
вместо того, чтобы просто установить tabPosition от нуля до конца, например.

tbcMain.TabPosition := TTabPosition.Bottom;<br>

если вы сделаете это, кажется, что он снова перепечатает нормально

tbcMain.TabPosition := TTabPosition.Bottom;
tbcMain.TabPosition := TTabPosition.Dots;
tbcMain.TabPosition := TTabPosition.Bottom; 
person Dangas56    schedule 30.09.2015