TGViewer
Мобильный трудоголик Мобильный трудоголик @hardworkerit · 1.64K subscribers
Post #273 1.09K
🔢 Системный меню-бар в iPadOS 26 теперь как в macOS.

Привет! С выходом iPadOS 26 работа с системным меню-баром вышла на совершенно новый уровень. Теперь iPad получил полноценное меню в стиле macOS с разделами File, Edit, View и другими, но что еще важнее: Apple наконец-то дала разработчикам полноценный инструментарий для тонкой настройки этого меню. Давайте разберемся, какие возможности открываются и как это изменит подход к разработке интерфейсов.


От хаков к нативным решениям:

Раньше кастомизация системного меню требовала нестандартных решений и обходных путей. Теперь в iPadOS 26 появился UIMainMenuSystem - специализированный подкласс UIMenuSystem, предназначенный именно для работы с главным меню-баром. Доступ к нему осуществляется через синглтон:

let configuration = UIMainMenuSystem.Configuration()
UIMainMenuSystem.shared.setBuildConfiguration(configuration) { menuBuilder in
// Ваша логика кастомизации
menuBuilder.remove(menu: .file)
}



Точечный контроль над структурой меню:

Ключевое нововведение - возможность модифицировать меню динамически, без необходимости пересобирать всю структуру целиком. Новые методы UIMenuBuilder позволяют:

🔵 Заменять элементы: builder.replace(menu: .file, with: customMenu)
🔵 Вставлять пункты в нужную позицию: builder.insertElements([element], afterMenu: .view)
🔵 Удалять ненужное: builder.remove(action: .duplicate)


Упрощенная настройка через Configuration:

Отдельного внимания заслуживает UIMainMenuSystem.Configuration - класс, который группирует свойства для быстрой настройки основных групп меню:

let configuration = UIMainMenuSystem.Configuration()
configuration.newScenePreference = .removed
configuration.findingConfiguration.style = .search


Это изящная альтернатива ручному удалению элементов через buildHandler.


Гибкая настройка поиска:

Особенно полезным оказалось findingConfiguration. В зависимости от типа приложения можно выбрать один из четырех стилей:

🔵 .search - единый пункт Search вместо Find и Replace
🔵 .nonEditableText - только поиск без замены
🔵 .editableText - полный набор поиска и замены
🔵 .automatic - система выбирает оптимальный вариант


Практические сценарии применения:

Новые возможности особенно полезны для:

🔵 Адаптации меню под разные режимы работы приложения.
🔵 Скрытие системных команд, нерелевантных текущему контексту.
🔵 Быстрого добавления часто используемых действий.
🔵 Создания специализированных интерфейсов для профессиональных приложений.


🔗 Ссылка на подробную статью


💡 Вывод:

Эти обновления знаменуют важный этап в развитии iPadOS, платформа становится еще ближе к macOS, предоставляя разработчикам инструменты для создания понастоящему профессиональных интерфейсов. Это особенно важно для сложных приложений, где контекстно-зависимое меню напрямую влияет на пользовательский опыт.


➡️ Подписаться на канал
Мобильный трудоголик
  • ❤ 10
  • 👍 4
  • 🔥 1
More from @hardworkerit
  1. Oct 6, 2026🔢 Swift 6.4: новая диагностика ретейн циклов. В Swift 6.4 появилась новая диагностика, ко…
  2. Oct 4, 2026🔢 SwiftUI: определение угла раскрытия iPhone Duo. В iOS 27.1 появился модификатор .onHing…
  3. Oct 2, 2026👣 Архитекторы, тестировщики и кодеры. Создаем мультиагентную команду Разработка с ИИ-аген…
  4. Oct 1, 2026🔢 Работа с Picture-in-Picture в iOS. Picture-in-Picture - системная функция iOS, которая…
  5. Sep 29, 2026🔢 Управление тулбарами на iPhone Duo. На iPhone Duo элементы управления навигацией, дейст…
  6. Sep 27, 2026🔢 Новые возможности Hashable в Swift 6.4 В Swift 6.4 добавили Hashable для нескольких тип…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →