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







Comments