AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Überlappende System-Status-Bar auf IOS scheinbar ab Delphi 10.2.2
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von AuronTLG · begonnen am 2. Mai 2018 · letzter Beitrag vom 3. Mai 2018
Antwort Antwort
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
291 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 2. Mai 2018, 11:18
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.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

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

  Alt 2. Mai 2018, 11:34
Wenn ich es richtig verstehe dann hat der gute Herr hier das schon bei Embarcadero eingetragen, oder?

https://quality.embarcadero.com/browse/RSP-19845
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
291 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 2. Mai 2018, 11:46
Tatsächlich. Hatte ich nicht gefunden gehabt.
Nun gut, wenn es ein Bug ist, kann ich das also getrost manuell umschiffen.

Vielen Dank!
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 3. Mai 2018, 10:45
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

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

Rollo
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
267 Beiträge
 
#5

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

  Alt 3. Mai 2018, 13:56
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.

Geändert von CHackbart ( 3. Mai 2018 um 14:01 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 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