Используйте модальность, только когда это имеет смысл. Создавайте модальные окна только тогда, когда важно сосредоточить внимание людей на выборе или выполнении задачи, отличной от их текущей. Модальный опыт выводит пользователей из их текущего контекста и требует действий для отстранения, поэтому важно использовать его только тогда, когда он приносит явную выгоду.
Зарезервируйте оповещения для предоставления важной и призывающей к действию информации. Как правило, возникает предупреждение из-за возникшей проблемы. Поскольку оповещение прерывает процесс и требует нажатия для его отклонения, важно, чтобы люди чувствовали, что такое вторжение оправдано.
Сделайте модальные задачи простыми, короткими и сфокусированными. Избегайте создания приложения внутри другого. Если модальная задача слишком сложна, люди могут потерять из виду задачу, которую они приостановили, когда вошли в модальный контекст. Будьте особенно осторожны при создании модальных задач, включающих иерархию представлений, потому что люди могут потеряться и забыть, каким образом вернуться к началу. Если модальная задача должна содержать подпредставления, укажите единый путь по иерархии и четкое направление к завершению. Старайтесь не использовать кнопку «Готово» (кроме случаев выполнения задачи).
Всегда добавляйте кнопку, которая закрывает модальное представление. Например, вы можете использовать Готово или Отмена. Включение кнопки гарантирует, что модальное представление будет доступно для вспомогательных технологий и обеспечит альтернативу жестам отклонения.
При необходимости помогите людям избежать потери данных, получив подтверждение перед закрытием модального представления. Независимо от того, используют ли люди жест отклонения или кнопку для закрытия представления: если действие может привести к потере пользовательского контента, представьте лист действий, который объяснит ситуацию и предоставит пользователям способы ее разрешения.
Не показывайте карточки, которые появляются сверху всплывающего экрана. Несмотря на то, что вы можете отобразить карту во всплывающем экране, поверх окна появляться ничего не должно (кроме, возможно, предупреждения). В редких случаях, когда вам нужно показать новый экран после того, как люди предпримут какие-либо действия во всплывающем окне, закройте окно перед показом нового экрана.
Показывайте заголовок, который четко определяет модальную задачу. Когда пользователи входят в модальное задание, то отходят от своего предыдущего контекста, поэтому было бы неплохо прояснить новый контекст. Вы можете показать текст, который более полно описывает задачу, в других частях представления.
Скоординируйте внешний вид модального вида с вашим приложением. Например, если модальное представление содержит панель навигации, оно должно иметь такой же внешний вид, что и панель навигации в вашем приложении.
Выберите модальный стиль перехода, подходящий для вашего приложения. Используйте стиль перехода, который координируется с вашим приложением и повышает осведомленность о текущем изменении контекста. Переход по умолчанию сдвигает модальное представление вверх от нижней части экрана и обратно. Используйте согласованные модальные стили перехода во всем приложении.
Для руководства разработчика см.
UIViewController и
UIPresentationController.