Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Überlappende System-Status-Bar auf IOS scheinbar ab Delphi 10.2.2 (https://www.delphipraxis.net/196219-ueberlappende-system-status-bar-auf-ios-scheinbar-ab-delphi-10-2-2-a.html)

AuronTLG 2. Mai 2018 10:18

Überlappende System-Status-Bar auf IOS scheinbar ab Delphi 10.2.2
 
Hallo,

ich habe ein seltsames Problem, bei dem ich mal nachfragen wollte, ob wer ähnliche Erfahrungen gemacht hat:

Im Prinzip ist das Problem, dass bei meinen FMX-Apps auf IOS-Geräten die System-Status-Bar überlappt, obwohl sie auf der Form auf "Visible" und nicht etwa "VisibleAndOverlap" gestellt ist.
Mir kam es sowieso schon etwas seltsam vor, da mir das vorher nie aufgefallen war, bis ich dann schließlich auf einem Smartphone eine alte Version einer App entdeckte, die noch mit 10.2.1 compiliert war und eine korrekte Statusleiste anzeigte.
Sobald ich dort jedoch die mit 10.2.2 compilierte Version draufgezogen hatte, überlappte auch dort die Status-Bar, weswegen ich stark davon ausgehe, dass das einem Bug von Embarcadero-Seite zuzuschreiben ist, gerade angesichts der Tatsache, dass die neue Form-Property "SystemStatusBar" eben genau mit 10.2.2 eingeführt wurde.
Dennoch will ich lieber mal sicherstellen, dass das auch wirklich der Fall ist, um auszuschließen, dass ich vielleicht irgendeinen Spaghetti-Code bei den späteren Versionen hineingehauen habe, was ich allerdings für unwahrscheinlich halte.

Vielleicht hat ja wer von euch dasselbe Problem, oder aber bei euch läufts auch mit 10.2.2+, was für mich auch aufschlussreich wäre.

Der schöne Günther 2. Mai 2018 10:34

AW: Überlappende System-Status-Bar auf IOS scheinbar ab Delphi 10.2.2
 
Wenn ich es richtig verstehe dann hat der gute Herr hier das schon bei Embarcadero eingetragen, oder?

https://quality.embarcadero.com/browse/RSP-19845

AuronTLG 2. Mai 2018 10:46

AW: Überlappende System-Status-Bar auf IOS scheinbar ab Delphi 10.2.2
 
Tatsächlich. Hatte ich nicht gefunden gehabt.
Nun gut, wenn es ein Bug ist, kann ich das also getrost manuell umschiffen.

Vielen Dank!

Rollo62 3. Mai 2018 09:45

AW: Überlappende System-Status-Bar auf IOS scheinbar ab Delphi 10.2.2
 
Ich benutze da einfach einen manuellen Abstand (z.B. Margin), um das solange zu kompensieren bis es gut aussieht.
Bin nicht sicher ob es dann auf allen Geräten gleich funktioniert, ich habe aber bisher noch nichts Negatives dazu gehört.
Also scheint es zu funktionieren :stupid:

Unter 10.2.3 habe ich das noch nicht getestet, ich gehe aber davon aus das es noch drin ist.

Rollo

CHackbart 3. Mai 2018 12:56

AW: Überlappende System-Status-Bar auf IOS scheinbar ab Delphi 10.2.2
 
Ja,

das ist mir heute auch aufgefallen als ich mal wieder ein Projekt anpassen musste.

In FMX.Platform.IOS gibt es eine Funktion namens UpdateStatusBarHeight


Delphi-Quellcode:
function UpdateStatusBarHeight(const ARootView: id; const AStatusBarConstraints: NSLayoutConstraint): Single;
var
  RootView: UIView;
begin
  RootView := TUIView.Wrap(ARootView);
  // It returns system status bar height
  Result := RootView.safeAreaLayoutGuide.layoutFrame.origin.y;
  // Refresh height of status bar view spacer TFMXViewController.StatusBarView
  AStatusBarConstraints.setConstant(Result);
end;
laut Debugger ist result = 0.
Prinzipiell sollte aber das hier als Alternative gehen:

Delphi-Quellcode:
function UpdateStatusBarHeight(const ARootView: id; const AStatusBarConstraints: NSLayoutConstraint): Single;
begin
  result := 20;
  AStatusBarConstraints.setConstant(Result);
end;
Christian
PS: Ich bin mir nicht mal sicher, ob das wirklich ein Bug von Delphi ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:00 Uhr.

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