Scrollview doesn't show out of scroll controls

Hi,

the ICL Scrollview TTMSFMXNativeUIScrollView does not show controls which are out of scroll in designtime:

- place a TTMSFMXNativeUIScrollView on the form
- place two TTMSFMXNativeUILabel inside the scrollview with some distance to each other
- reduce the scrollviews size so that only one label is seen

run the app.

When scrolling, the second label will not appear!

Why?

Thanks in advance,
Dietrich

The UIScrollView has an event that asks for the view that needs to be scrolled. Please first add another UIView as the scrollable view, and then place the labels inside that view.

I don?t get the point.

Which event are you pointing to? The ?ViewForZooming? ? I don?t want to zoom, just scroll.

I placed an TMSFMXNativeUIView1 inside the TMSFMXNativeUIScrollView1 and some uicontrols inside the TMSFMXNativeUIView1.

I assigned the ?ViewForZooming? to the TMSFMXNativeUIView1.

Same thing. only the controls wich are inside the visible area of the TMSFMXNativeUIScrollView1 are visible when scrolling it.

Yes, the ViewForZooming property should be assigned. We'll look into this here and see what is going wrong

this works (got it from your popopvercontroller:

procedure TForm2.FormShow(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to Scroll.ChildrenCount - 1 do
    TTMSFMXNativeUIBaseControl(Scroll.Children).Initialize;
end;

OK, thanks for reporting

This is more general:

procedure TMSFMXNativeBaseControlInitializeChildren(TMSFMXNativeUIBaseControl: TTMSFMXNativeUIBaseControl);
var
  aLoop: Integer;
begin
  for aLoop := 0 to TMSFMXNativeUIBaseControl.ChildrenCount - 1 do begin
    if TMSFMXNativeUIBaseControl.Children[aLoop] is TTMSFMXNativeUIBaseControl then begin
      TTMSFMXNativeUIBaseControl(TMSFMXNativeUIBaseControl.Children[aLoop]).Initialize;
      TMSFMXNativeBaseControlInitializeChildren(TTMSFMXNativeUIBaseControl(TMSFMXNativeUIBaseControl.Children[aLoop]));
    end;
  end;
end;


call:

TMSFMXNativeBaseControlChildrenInitialize(TMSFMXNativeUIScrollView1);