2016-03-14 3 views
0

Я пытался изо всех сил разобраться в iOS, и при создании приложений у меня возникает вопрос, в чем разница между UINavigationController и viewController встраиванием в NavigationController.UINavigationController vs viewController embed in NavigationController

При использовании UINavigationController мы нажимаем и просматриваем представления. при использовании viewController мы представляем и увольняем.

ТАК КАКИЕ приложения, в которых один превосходит по сравнению с другим.

+0

http://stackoverflow.com/questions/28751457/difference-between-navigation-controller-and-viewcontroller –

ответ

1

UINavigationController используется там, где вы хотите, чтобы вы перемещались туда и обратно в своем приложении. Обычно навигационный контроллер используется, когда вы просматриваете более подробную информацию на каждом уровне глубины, который вы используете в своем приложении. enter image description here

UIViewController обычно предпочитается при отображении полированной информации. в UINavigationController обычно это один из последнего контроллера вы толкнуть в контроллере

0

Я думаю, что вы действительно описываете две стороны той же монеты. Существует только один способ использования UINavigationViewContorller. Он известен как контроллер представления контейнеров, и его задача состоит в том, чтобы нажимать и нажимать другие UIViewControllers. UINavigationViewController работает с viewControllers, а не с представлениями.

0

UINavigationController: Если у вас есть иерархия зрения контроллера, то, что вы стек зрения, то вам нужно использовать навигацию контроллер. Вы можете выполнять операции push и pop на контроллере представления, а контроллер навигации - это rootViewController всех ViewController.so, чтобы вернуться к предыдущему, упорядоченным способом. Представьте, что контроллеры в навигационном контроллере будут просто строить последовательность слева направо.

UIViewController: Если вы используете контроллер просмотра, он действует как presentViewController. CurrentViewController предлагает механизм для отображения так называемого модального контроллера вида; то есть контроллер вида, который будет полностью контролировать ваш пользовательский интерфейс, будучи наложенным поверх верхнего контроллера. Я думаю, что presentViewController наиболее подходит для использования только с одним контроллером представления. Таким образом, вы просто не сможете реализовать функциональность «вернуться»/навигации.

0

UINavigationController унаследовал от UIViewController. Странная вещь об этой объектной модели - UIViewController имеет свойство NavigationController. Поэтому для пуристов OO это немного озадачивает, что родительский класс знает о своих детях. Но стонать в сторону это то, как это было сделано в UIKit. Как вы обнаружите с ошибкой во время выполнения, вы не можете поместить UINavigationController в UINavigationController

Когда вы нажимаете контроллер, он может получить доступ к родительскому UINavigationController, который может принадлежать или может не принадлежать через свойство NavigationController. Свойство равно null, если контроллер не находится внутри UINavigationController.

Смежные вопросы