В чем разница между сегментами: «показать», «показать детали», «представить модально», «представить как всплывающее окно»? [закрыто]

90

Что делают разные сегменты в Xcode 6?

Красный
источник
4
Проверьте stackoverflow.com/questions/25966215/…
Gismay
спасибо, вот что я искал
Red
2
дублировать? stackoverflow.com/questions/25966215/…
Джеральд,
2
Возможный дубликат. В чем разница между всеми этапами выбора?
Suhaib

Ответы:

176

1. Показать - помещает конечный контроллер представления в стек навигации, перемещая исходный контроллер представления в сторону (место назначения перемещается сверху справа налево), обеспечивая кнопку возврата для возврата к исходному объекту - на всех устройствах.

Пример: перемещение по почтовым ящикам / папкам в Mail.

2. Показать подробности - заменяет контроллер подробного / вторичного представления в UISplitViewController без возможности вернуться к предыдущему контроллеру представления.

Пример. В «Почте на iPad» в альбомной ориентации нажатие на электронную почту на боковой панели заменяет контроллер представления справа, чтобы отобразить новое электронное письмо.

3. Представить модально - представляет контроллер представления различными способами, как определено параметром «Презентация», закрывая предыдущий контроллер представления - чаще всего используется для представления контроллера представления, который анимируется снизу и покрывает весь экран на iPhone, но на iPad его обычно представляют в формате с центрированным прямоугольником поверх, который затемняет базовый контроллер представления.

Пример: нажатие кнопки + в календаре на iPhone.

4. Презентация всплывающего окна - при запуске на iPad место назначения отображается в небольшом всплывающем окне, и нажатие в любом месте за пределами этого всплывающего окна закрывает его. На iPhone также поддерживаются всплывающие окна, но по умолчанию, если он выполняет переход Popover Presentation, он будет представлять конечный контроллер представления модально на весь экран.

Пример: нажатие кнопки «+» в календаре на iPad (или iPhone, понимая, что она преобразуется в полноэкранную презентацию, а не в фактическое всплывающее окно).

5. Пользовательский - вы можете реализовать свой собственный переход и полностью контролировать его внешний вид и переход.

Раджеш Логанатан
источник
1
Показать подробности: реализация этого метода по умолчанию вызывает метод targetViewController (forAction: sender :) для поиска объекта в иерархии контроллера представления, который переопределяет этот метод. Затем он вызывает метод этого целевого объекта, который соответствующим образом отображает контроллер представления . Если метод targetViewController (forAction: sender :) возвращает nil, этот метод использует корневой контроллер представления окна для модального представления vc .
Gehlen