Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS iCL Slide-out Sidebar Menu (https://www.delphipraxis.net/177436-icl-slide-out-sidebar-menu.html)

Crocotronic 11. Nov 2013 15:44

AW: iCL Slide-out Sidebar Menu
 
Wenn ich das so mache, habe ich nicht den gewünschten Slide-Effekt...
ist es vielleicht möglich, die bei dem Tutorial verwendete SWRevealViewController Library einzubinden?

Crocotronic 19. Nov 2013 16:21

AW: iCL Slide-out Sidebar Menu
 
Ok, ich werde jetzt erstmal so ein "provisorisches" Menü hinwursteln, denn ohne geht es einfach nicht.
Dazu noch eine Frage: Mit was verwalte ich dann die ganzen Views? Also, wenn ich im Menü dann ein Item auswähle, soll ja ein anderes View angezeigt werden.Ich weiß, dass der NavigationController soetwas tun kann, aber das ist immer diese blöde Leiste oben. Ich möchte ja nur das "Fenster" ändern.

Crocotronic 21. Nov 2013 18:31

AW: iCL Slide-out Sidebar Menu
 
Also, ich habe jetzt folgendes herausgefunden:
Dem TableView muss man als DetailView ein "Blanko-View" zuweise, auf das dann später die DetailViews der einzelnen Items angezeigt werden. Dafür muss man natürlich noch jedem Item des TableViews ein DetailView zuweisen.
Wenn ich meine App jetzt aber starte, sehe ich zuerst das blanke View, bis ich ein Item auswähle. Weiß jemand, wie ich einfach mal das erste DetailView des ersten Items anzeige=
Folgendes funktioniert nicht:
Delphi-Quellcode:
 o_menu.DetailView:= MainView;
 o_menu.Sections[0].Items[0].DetailView:= View1;
 o_menu.Sections[0].Items[1].DetailView:= View2;
 o_menu.Sections[0].Items[2].DetailView:= View3;

 o_menu.NavigationController.pushViewController(View1.getViewController,false);

Darlo 21. Nov 2013 21:25

AW: iCL Slide-out Sidebar Menu
 
Probier mal danach ein

o_menu.initialze

Crocotronic 21. Nov 2013 22:14

AW: iCL Slide-out Sidebar Menu
 
Funktioniert leider nicht :(

Darlo 22. Nov 2013 10:30

AW: iCL Slide-out Sidebar Menu
 
kannst du mal ein Testprojekt hochladen?

Crocotronic 29. Nov 2013 16:49

AW: iCL Slide-out Sidebar Menu
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal ein Testprojekt

Crocotronic 30. Nov 2013 23:14

AW: iCL Slide-out Sidebar Menu
 
Und die Lösung lautet:
Delphi-Quellcode:
procedure TF_MainiOS.SelectItem(var ATableView: TTMSFMXNativeUITableView; AIndex: Integer);
var idx: FMX.TMSNativeUICore.NSIndexPath;
    vwMaster: UIView;
    s, r: Integer;
    dt, idt: TTMSFMXNativeUIBaseControl;
    rs: NSRect;
    n: Integer;
    currentView: UIView;
begin
 idx := FMX.TMSNativeUICore.TNSIndexPath.Wrap(FMX.TMSNativeUICore.TNSIndexPath.OCClass.indexPathForRow(AIndex, 0));
 ATableView.TableView.selectRowAtIndexPath(iOSApi.Foundation.NSIndexPath(idx), False, UITableViewScrollPositionTop);

 if not Assigned(ATableView) then
   Exit;

 s:= Integer(idx.section);
 r:= Integer(idx.row);

 idt:= ATableView.GetItem(s,r).SubDetailView;
 dt:= ATableView.GetItem(s,r).DetailView;

 {if Assigned(currentView) then
   currentView.removeFromSuperView;}

 vwMaster := ATableView.DetailView.GetView;
 if Assigned(vwMaster) then
 begin
  for n:= 0 to dt.ChildrenCount - 1 do
  begin
   if dt.Children[n] is TTMSFMXNativeUIBaseControl then
   begin
     (dt.Children[n] as TTMSFMXNativeUIBaseControl).Visible := True;
     (dt.Children[n] as TTMSFMXNativeUIBaseControl).Initialize;
   end;
  end;

  currentView:= dt.GetView;
  if Assigned(currentView) then
  begin
   rs.origin.x := dt.Position.X;
   rs.origin.y := dt.Position.Y;
   rs.size.width := dt.Width;
   rs.size.height := dt.Height;

   currentView.sethidden(false);
   vwMaster.addSubview(currentView);
   currentView.setFrame(rs);
  end;
 end;

 ATableView.OnItemSelect(ATableView, 0, AIndex);
end;
Es funktioniert, wenn ich diese Funktion z.B. im Event eines Buttons aufrufe.
Im OnFormCreate hat es keine Auswirkung, warum?

Crocotronic 3. Dez 2013 20:56

AW: iCL Slide-out Sidebar Menu
 
Slide Menu siehe D.P.F iOS Native Components

Graberius 6. Dez 2013 08:23

AW: iCL Slide-out Sidebar Menu
 
Zitat:

Zitat von Crocotronic (Beitrag 1238043)
Es funktioniert, wenn ich diese Funktion z.B. im Event eines Buttons aufrufe.
Im OnFormCreate hat es keine Auswirkung, warum?

Hast du schon mit OnActivate Probiert?
Ich hatte das selbe Problem wie du aber eben OnActivate war die Lösung
Die Prozedur sieht dann so aus
Delphi-Quellcode:
procedure TMeineForm.FormActivate(Sender: TObject);


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz