Was ich versucht habe:
Code: Select all
let leftButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(cancelTapped))
if #available(iOS 26.0, \*) {
leftButton.hidesSharedBackground = true // ✅ Successfully removes shadow
}
navigationItem.leftBarButtonItem = leftButton
// This DOES NOT WORK - shadow remains on back button
let backButton = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil)
if #available(iOS 26.0, \*) {
backButton.hidesSharedBackground = true // ❌ No effect - shadow still appears
}
navigationItem.backBarButtonItem = backButton
Ich habe erwartet, dass hidesSharedBackground = true den Schatten-/Hintergrundeffekt sowohl von regulären Leistenschaltflächenelementen als auch von Backbar-Schaltflächenelementen konsistent entfernt.
Tatsächliches Verhalten:
Code: Select all
hidesSharedBackgroundCode: Select all
hidesSharedBackgroundDie Zurück-Schaltfläche zeigt weiterhin den Schatten-/Hintergrundeffekt in iOS 26 an
Zusätzlicher Kontext:
Ich kenne den UIDesignRequiresCompatibility Info.plist-Schlüssel, möchte aber eine programmgesteuerte Lösung
Ich suche nach einer Möglichkeit, den Schatten speziell von Zurück-Schaltflächen zu entfernen, ohne andere UI-Elemente zu beeinträchtigen
Dies scheint der Fall zu sein Inkonsistentes Verhalten in der iOS 26-API
Frage:
Ist das ein Fehler in iOS 26 oder gibt es einen anderen Ansatz, um den Schatteneffekt speziell von Schaltflächenelementen in der Backbar zu entfernen?
Mobile version