iOS
ModelPresentationStyles
Поиск…
Вступление
Модальные стили презентации используются, когда вы переходите от одного контроллера представления к другому. Существует два способа достижения этой настройки. Один - через код, а другой через Interface Builder (с использованием segues). Этот эффект достигается установкой переменной modalPresentationStyle
в экземпляр UIModalPresentationStyle
enum. modalPresentationStyle
представляет собой переменную класса UIViewController
и используется для указания способа ViewController
на экране.
замечания
Всегда помните следующее упоминание от Apple.
В горизонтально компактной среде контроллеры модального просмотра всегда отображаются в полноэкранном режиме. В горизонтально-обычной среде существует несколько различных вариантов представления.
Изучение ModalPresentationStyle с помощью Interface Builder
Это будет очень простое приложение, которое будет иллюстрировать разные ModalpresentationStyle
в iOS. В соответствии с документацией, найденной здесь , существует 9 различных значений для UIModalPresentationStyle
которые следующие:
-
fullScreen
-
pageSheet
-
formSheet
-
currentContext
-
custom
-
overFullScreen
-
overCurrentContext
-
popover
-
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.