Поиск…


Вступление

Модальные стили презентации используются, когда вы переходите от одного контроллера представления к другому. Существует два способа достижения этой настройки. Один - через код, а другой через Interface Builder (с использованием segues). Этот эффект достигается установкой переменной modalPresentationStyle в экземпляр UIModalPresentationStyle enum. modalPresentationStyle представляет собой переменную класса UIViewController и используется для указания способа ViewController на экране.

замечания

Всегда помните следующее упоминание от Apple.

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

Изучение ModalPresentationStyle с помощью Interface Builder

Это будет очень простое приложение, которое будет иллюстрировать разные ModalpresentationStyle в iOS. В соответствии с документацией, найденной здесь , существует 9 различных значений для UIModalPresentationStyle которые следующие:

  1. fullScreen
  2. pageSheet
  3. formSheet
  4. currentContext
  5. custom
  6. overFullScreen
  7. overCurrentContext
  8. popover
  9. none

Чтобы настроить проект, просто создайте обычный проект iOS и добавьте 2 ViewControllers . Поместите UIButton в исходный ViewController и подключите его к 2-му ViewController помощью механизма Target -> Action . Чтобы отличить оба ViewControllers , установите для свойства фона UIView в ViewController другой цвет. Если все пойдет хорошо, ваш интерфейс Builder должен выглядеть так, Начальный интерфейс

Убедитесь, что вы создали этот проект и запустили его на iPad (подробности о том, почему iPad см. В разделе «Примечания»). Когда вы закончите настройку своего проекта, выберите сегю и перейдите к attributes inspector . Вы должны уметь видеть что-то вроде этого, введите описание изображения здесь

Установите свойство вида « Present Modally .

Теперь мы не увидим все эффекты в этом примере, так как некоторые из них требуют немного кода.

Начнем с fullscreen . Этот эффект выбирается по умолчанию при выборе Present Modally в Kind вкладки. Когда вы будете строить и запускать, второй ViewController будет занимать весь экран iPad.

введите описание изображения здесь

Далее - pageSheet . Вы можете выбрать этот вариант на вкладке Presentation . В этом случае, когда устройство находится в портретном режиме, второй ViewController аналогичен полноэкранному, но в ландшафтном режиме, второй ViewController значительно сужает ширину устройства. Кроме того, любой контент, который не распространяется на 2-й ViewController будет недоступен.

введите описание изображения здесь

Для стиля formSheet второй ViewController размещается в центре устройства, а размер меньше, чем у устройства. Также, когда устройство находится в ландшафтном режиме, а клавиатура видна, позиция просмотра настраивается вверх, чтобы показать ViewController .

введите описание изображения здесь

Последний стиль, который мы собираемся попробовать, - это popover . Чтобы выбрать этот стиль, выберите « Present as Popover в Kind ». Второй ViewController представлен как небольшой popover (размер может быть установлен). Фоновый контент затемнен. Любой щелчок за пределами popover отклонил бы popover. Attributes Inspector ваших Attributes Inspector должен выглядеть примерно так:

введите описание изображения здесь

Anchor - это элемент пользовательского интерфейса, на который вы хотите указать стрелку навигации. Directions - это направления, по которым вы можете указать ваш Anchor .

введите описание изображения здесь

Там больше, чем эти базовые стили презентации, но они немного сложны для достижения и требуют некоторого кода. Более подробную информацию можно найти в документации Apple.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow