Может кто-нибудь объяснить мне, в чем точная разница между modal
и push
segue?
Я знаю, что когда мы используем push
segue, он добавляется в стек, поэтому, когда мы продолжаем push
его использовать, он продолжает занимать память?
Может кто-нибудь показать мне, как эти два реализованы?
Modal
Сеги могут быть созданы простым ctrl-clickперетаскиванием к месту назначения, но когда я делаю это с push
моим приложением, происходит сбой.
Я нажимаю на кнопку, UINavigationController
которая имеет UIViewController
.
источник
Обновление Swift 3.0 и XCode 8.2.1
1. Push Segue
Push segue было переименовано в Show segue. Чтобы создать push-переход, родительский контроллер представления должен быть встроен в контроллер навигации. Контроллер навигации предоставляет панель навигации. Как только вы соедините два контроллера вида с push segue, дочерний контроллер вида автоматически будет иметь панель навигации вверху. Контроллер дочернего представления будет добавлен поверх стека навигации.
Push Segue также предоставляет функции по умолчанию. Дочерний контроллер представления будет иметь кнопку возврата, которая возвращает вас к родительскому контроллеру представления. Вы также можете провести вправо, чтобы открыть дочерний контроллер вида. Анимация для push-перехода похожа на скольжение страниц по горизонтали.
Несмотря на то, что вам разрешено выполнять push-переход от контроллера представления, отсутствующего в контроллере навигации, при этом вы потеряете все функции, такие как панель навигации, анимация, жесты и т. Д. В этом случае вы должны сначала встроить свой родительский контроллер представления в контроллер навигационного представления, а затем выполнить переход на дочерние контроллеры представления.
2. Модальная Сегу
Модальный переход (то есть присутствующий в модальном порядке), с другой стороны, представлен поверх текущего контроллера вида. Дочерний контроллер вида не будет наследовать контроллер вида навигации, поэтому панель навигации будет потеряна, если вы представите модальный переход от контроллера вида с контроллером вида навигации. Вы должны снова встроить дочерний контроллер представления в контроллер навигации и запустить новый стек навигации, если хотите вернуть его обратно. Если вы хотите вернуться к родительскому контроллеру представления, вы должны реализовать это самостоятельно и вызывать
dismiss
из кода.Анимация для модального перехода заключается в том, что дочерний контроллер представления появится снизу страницы. Контроллер навигационного представления также пропал в этой демонстрации
источник
Просмотр толчка должен быть встроен в
navigationController
.Нажмите на свой
master view
, затем в строке меню выберите:источник
pushView
можно также построить БЕЗnavigationController
и этот ответ неполон!Это перемещение элементов управления с использованием пользовательских методов push и segue для раскадровки.
А Модал - это способ навигации по представлениям без использования раскадровок.
источник