Реализация Split View / Slide Over для iPad-приложения

Реализация Split View, Slide Over и Stage Manager для iPad-приложения — наша специализация с 2019 года. Это не только технические настройки, но и полноценная адаптация UX под многозадачность. iPad-приложение не отображается в списке многозадачности, а в режиме плавающего окна появляются чёрные полос

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Реализация Split View / Slide Over для iPad-приложения
Средний
~3-5 дней

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Реализация Split View, Slide Over и Stage Manager для iPad-приложения — наша специализация с 2019 года. Это не только технические настройки, но и полноценная адаптация UX под многозадачность. iPad-приложение не отображается в списке многозадачности, а в режиме плавающего окна появляются чёрные полосы. Пользователи Magic Keyboard не могут переключать разделы с клавиатуры. Это типичные последствия отсутствия поддержки Multitasking. Мы адаптировали более 30 приложений для iPad под все режимы многозадачности — от финансовых дашбордов до графических редакторов. Адаптация обходится в 3–5 раз дешевле, чем переписывать UI с нуля. Стоимость работ — от 25 000 ₽ за базовый аудит и настройку. Согласно App Store Review Guidelines Section 4.2, приложение должно корректно работать во всех поддерживаемых режимах.

Типичные проблемы без поддержки многозадачности на iPad

iPadOS Multitasking включает три основных режима: Split View (два приложения рядом, каждое занимает половину экрана), Slide Over (плавающее окно в компактном размере) и Stage Manager (свободно изменяемые окна начиная с iPadOS 16). Чтобы приложение поддерживало хотя бы один из них, необходимо отказаться от UIRequiresFullScreen = YES в Info.plist и реализовать гибкую вёрстку на AutoLayout. Иначе приложение будет отображаться с тёмными полями или вовсе не появится в списке доступных для Split View.

Почему базовая поддержка — лишь полдела

Даже после включения UIApplicationSupportsMultipleScenes и удаления ключа UIRequiresFullScreen приложение может работать некорректно. Главная причина — завязка на абсолютные размеры экрана. На iPad с размером экрана 11 или 12.9 дюймов в Split View окно может быть шириной 375, 420 или 450 пунктов — жёсткие константы приводят к обрезанию контента.

Мы используем Size Classes — системный механизм, который сообщает, компактный или регулярный размер у окна по горизонтали и вертикали. Код, проверяющий UIDevice.current.userInterfaceIdiom == .pad, сломается в компактном режиме. Правильный подход — реагировать на traitCollection.horizontalSizeClass или @Environment(\.horizontalSizeClass) в SwiftUI.

Как мы реализуем адаптацию: типовой кейс

Недавно адаптировали корпоративное приложение для управления задачами. Исходно использовался UISplitViewController в UIKit, но без поддержки Size Classes и Stage Manager. Пользователи жаловались, что в Slide Over sidebar не скрывался, а в Split View с другой тяжёлой программой интерфейс ломался.

Мы сделали:

  • Заменили статический UISplitViewController на динамический с делегатом коллапса;
  • Добавили UIPointerInteraction для hover-эффектов на элементах;
  • Реализовали Drag & Drop между колонками — UIDropInteraction для приёма файлов;
  • Настроили Keyboard Shortcuts через UIKeyCommand и UIMenuBuilder для Magic Keyboard.

Результат: приложение стало появляться в списке Split View, исчезли артефакты в Slide Over, время тестирования сократилось — все режимы Multitasking отрабатывают корректно.

Этапы полного цикла адаптации

  1. Аудит текущего UI — проверка Info.plist, SceneDelegate, AutoLayout на жёсткие размеры;
  2. Проектирование адаптивного layout — выбор между UISplitViewController (UIKit) и NavigationSplitView (SwiftUI);
  3. Реализация — внедрение Size Classes, поддержка коллапса, настройка минимальных ширин колонок;
  4. Интеграция многозадачных возможностей — Drag & Drop, Pointer Interaction, Keyboard Shortcuts;
  5. Тестирование — на всех режимах Multitasking, включая Stage Manager и все ориентации устройства;
  6. Документация — описание ключевых решений и инструкция по поддержке.

Сравнение UISplitViewController и NavigationSplitView

Параметр UISplitViewController (UIKit) NavigationSplitView (SwiftUI)
Поддержка iOS 8+ 16+
Три колонки tripleColumn встроенная
Кастомизация поведения делегат, override модификаторы
Stage Manager tile + Multiple Windows автоматически
Сложность внедрения средняя низкая

Для новых проектов на SwiftUI мы рекомендуем NavigationSplitView — он автоматически адаптируется и требует в 2 раза меньше boilerplate-кода, что делает его эффективнее для большинства задач. Если проект на UIKit или нужна поддержка iOS 14-15, остаётся UISplitViewController. Подробнее о UISplitViewController в документации Apple.

Чек-лист перед релизом адаптации
  1. Удалён UIRequiresFullScreen = YES из Info.plist.
  2. UIApplicationSupportsMultipleScenes не установлен в NO.
  3. Все вьюхи используют AutoLayout с относительными констрейнтами.
  4. minimumPrimaryColumnWidth задана не ниже 280 pt.
  5. Приложение протестировано во всех трёх режимах Multitasking.
  6. Добавлены базовые UIKeyCommand для Magic Keyboard.

Как адаптировать приложение для Split View без UIRequiresFullScreen?

Первый шаг — удалить UIRequiresFullScreen = YES из Info.plist. Затем убедиться, что UIApplicationSupportsMultipleScenes не установлен в NO. После этого нужно проверить, что все вьюхи корректно реагируют на изменение size class. Типовая ошибка — жёсткая ширина элементов. Используйте AutoLayout с относительными констрейнтами (leading/trailing) или SwiftUI-модификаторы .frame(minWidth:idealWidth:maxWidth:). Также важно задать minimumPrimaryColumnWidth для UISplitViewController — не ниже 280 pt.

Какие ошибки допускают при адаптации?

  • Игнорирование минимальной ширины primary колонки. В UISplitViewController задайте minimumPrimaryColumnWidth не ниже 280 pt, иначе sidebar будет выглядеть раздавленным.
  • Отсутствие presentsWithGesture. Без этого пользователи не смогут спрятать sidebar свайпом — ожидаемое поведение на iPad.
  • Забывают про Keyboard. На iPad Pro с Magic Keyboard отсутствие UIKeyCommand и hover-эффектов снижает пользовательский опыт. Добавьте хотя бы базовые команды (⌘N, ⌘F).

Наши инженеры имеют более 5 лет опыта работы с адаптацией iPad-приложений. Мы гарантируем корректную работу в режимах многозадачности в соответствии с App Store Review Guidelines. Полный цикл адаптации — от 45 000 ₽ в зависимости от сложности текущего UI. Получите консультацию по адаптации уже сегодня — свяжитесь с нами. Закажите аудит вашего приложения, и мы пришлём предварительный план.

Когда ждать результатов: ориентировочные сроки

Задача Срок
Базовая многозадачность 1–2 дня
+ Size Classes, Drag & Drop 3–4 дня
+ Stage Manager, Keyboard +1 день
Полная адаптация (собственный кейс) 5–7 дней

Сроки могут варьироваться в зависимости от сложности исходного UI. Оценим ваш проект бесплатно — напишите, мы пришлём предварительный план. Свяжитесь с нами, чтобы обсудить детали.

Что входит в работу

  • Аудит Info.plist, SceneDelegate и AutoLayout-констрейнтов — выявляем жёсткие привязки к размерам.
  • Адаптация UISplitViewController или NavigationSplitView под все Size Classes.
  • Реализация поддержки Drag & Drop, Pointer Interaction и базовых Keyboard Shortcuts.
  • Тестирование на 3+ iPad-устройствах: 11" (iPad Pro), 12.9" (iPad Pro), 10.9" (iPad Air).
  • Проверка во всех режимах многозадачности: разделение 50/50, 70/30, плавающее окно, Stage Manager.
  • Документация архитектурных решений и инструкция по поддержке многозадачности в будущем.
  • Техническая поддержка на 30 дней после сдачи работы.