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