Die System-Leiste kam auf dem Mac zurück
Sie auszublenden reichte nicht: solange `mode` auf `tabSidebar` steht, gehört die Seitenleiste zur Darstellung, und das System stellte sie wieder her — mit eigenem Pfeil und eigenem Knopf, hinter unserer. Auf dem Simulator fiel das nicht auf, auf dem Mac standen beide da. Jetzt wird erst die Form auf `tabBar` gestellt und dann die Tableiste ausgeblendet. Damit gibt es keine Seitenleiste mehr, die zurückkommen könnte. Der Test setzt die Stellung der Leiste über ein Startargument, statt zu nehmen, was ein voriger Lauf hinterlassen hat — er fing sonst beim falschen Bild an. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
fccec1217b
commit
fbed83b10f
@@ -44,8 +44,20 @@ struct TabChromeSuppressor: UIViewControllerRepresentable {
|
||||
|
||||
private func suppress() {
|
||||
guard let controller = Self.tabBarController(from: self) else { return }
|
||||
if !controller.sidebar.isHidden { controller.sidebar.isHidden = true }
|
||||
|
||||
// Erst die Form festlegen, dann ausblenden — und zwar auf die
|
||||
// Tableiste, nicht auf die Seitenleiste.
|
||||
//
|
||||
// Nur `sidebar.isHidden = true` reichte nicht: auf dem Mac stand
|
||||
// die System-Seitenleiste danach wieder da, mit eigenem Pfeil und
|
||||
// eigenem Knopf, hinter unserer. Solange `mode` auf `tabSidebar`
|
||||
// steht, gehört die Seitenleiste zur Darstellung und das System
|
||||
// stellt sie wieder her. Steht `mode` auf `tabBar`, gibt es keine
|
||||
// Seitenleiste mehr, die zurückkommen könnte — und die Tableiste
|
||||
// ist ausgeblendet.
|
||||
if controller.mode != .tabBar { controller.mode = .tabBar }
|
||||
if !controller.isTabBarHidden { controller.isTabBarHidden = true }
|
||||
if !controller.sidebar.isHidden { controller.sidebar.isHidden = true }
|
||||
}
|
||||
|
||||
/// Sucht vom eigenen Platz aus nach oben bis zur Wurzel und von dort
|
||||
|
||||
Reference in New Issue
Block a user