You are correct, we are able to reproduce this issue here and there are some additional checks that need to be done. We have now investigated and retested this here and have applied a fix for this issue. The fix will be available in the next release.
We have recently done some intense and new development that kept us from updating the firemonkey components. At the end of this week the update should be available. If not, or when urgent ask us for a source update through direct email when necessary.
congratulations, the new cross platform grid looks awful!
Also thank you for the fix concerning the TableView.
Unfortunately there is a new bug in the TableView.
The TableView dosn't scroll any more to items not shown in the View.
At least on iOS and in the XCode simulator, on Windows scrolling works fine.
You can see that when you add some more rows to your iOS "Overview Demo"
I just expanded the loop a bit like that, to get some more items in the main view:
for I := 0 to TMSFMXBitmapContainer1.Items.Count - 1 do begin
with TMSFMXTableView1.Items.Add do begin CategoryID := TMSFMXBitmapContainer1.Items.Tag; Caption := TMSFMXBitmapContainer1.Items.Name; BitmapName := Caption; if (I = 3) or (I = 2) or (I = 7) then begin DetailView := TMSFMXTableView2; Randomize; BulbText := inttostr(Random(10) + 5); DataObject := TList.Create; end; end;
with TMSFMXTableView1.Items.Add do begin CategoryID := TMSFMXBitmapContainer1.Items.Tag + 100; Caption := TMSFMXBitmapContainer1.Items.Name + IntToStr(TMSFMXBitmapContainer1.Items.Tag); BitmapName := Caption; if (I = 3) or (I = 2) or (I = 7) then begin DetailView := TMSFMXTableView2; Randomize; BulbText := inttostr(Random(10) + 5); DataObject := TList.Create; end; end;
end;
In the XCode iOS simulator I can't scroll past "Cherry3" in iPad Landcape mode, the TableView just stops scrolling.
Sorry, there was a bug in the souce code, it should look like this (in fact it doesn't matter for the problem):
for I := 0 to TMSFMXBitmapContainer1.Items.Count - 1 do begin
with TMSFMXTableView1.Items.Add do begin CategoryID := TMSFMXBitmapContainer1.Items.Tag; Caption := TMSFMXBitmapContainer1.Items.Name; BitmapName := Caption; if (I = 3) or (I = 2) or (I = 7) then begin DetailView := TMSFMXTableView2; Randomize; BulbText := inttostr(Random(10) + 5); DataObject := TList.Create; end; end; with TMSFMXTableView1.Items.Add do begin CategoryID := TMSFMXBitmapContainer1.Items.Tag; Caption := TMSFMXBitmapContainer1.Items.Name + IntToStr(TMSFMXBitmapContainer1.Items.Tag); BitmapName := Caption; if (I = 3) or (I = 2) or (I = 7) then begin DetailView := TMSFMXTableView2; Randomize; BulbText := inttostr(Random(10) + 5); DataObject := TList.Create; end; end; end;
We have investigated this here and are able to reproduce this here however this might be an iOS issue that doesn't trigger the correct event for updating the tableview as it resizes.
There are a couple of steps to try and fix the issue:
Call TMSFMXTableView1.UpdateStyle in the form resize event.
Set the TMSFMXTableView1.BufferSize to a higher number (exceed the visible item count in landscape mode)
or a combination of the two.
Since it doesn't occur on windows it will be hard to debug this issue since xcode doesn't allow us to debug inside the delphi source code.