Что я пробовал:
Код: Выделить всё
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
Я ожидал, что с помощью displaySharedBackground = true будет последовательно удаляться эффект тени/фона как из элементов кнопок обычной панели, так и из элементов кнопок задней панели.
Фактическое поведение:
Код: Выделить всё
hidesSharedBackgroundКод: Выделить всё
hidesSharedBackgroundКнопка «Назад» продолжает отображать эффект тени/фона в iOS 26.
Дополнительный контекст:
Мне известен ключ UIDesignRequiresCompatibility Info.plist, но мне нужно программное решение
Ищу способ удалить тень специально с кнопок «Назад», не затрагивая другие элементы пользовательского интерфейса.
/>Это непоследовательное поведение в API iOS 26.
Вопрос:
Это ошибка в iOS 26 или существует другой подход для удаления эффекта тени специально для элементов кнопок задней панели?
Подробнее здесь: https://stackoverflow.com/questions/797 ... backbarbut
Мобильная версия