-4

Когда мы нажимаем кнопку «Назад» в навигационном контроллере, он автоматически вытаскивает контроллер вида и возвращается к предыдущему контроллеру представления. Может ли кто-нибудь сказать мне, как он работает. Где код для этого действия в xcode.Как работает кнопка управления панелью навигации в Iphone ..?

ответ

1

Я не знаю, что именно вы подразумеваете под «как это работает» .. но происходит то, что контроллеры представлений помещаются в стек (RootController, который является контроллером навигации), и когда вы нажимаете кнопку «назад», он просто появляется самый верхний контроллер в стеке, и вы вернулись с того места, где вы пришли. Надеюсь, это поможет .. !!

+0

когда мы нажимаем кнопку назад он выталкивает ViewController. но должен быть код для этого действия правильно ..?. Где будет этот код? .. – veeramani

1

Вы ищете это?

[self.navigationController popViewControllerAnimated:YES]; 
+0

no simone .. когда мы нажимаем кнопку «назад», он выталкивает viewcontroller. но должен быть код для этого действия правильно ..?. Где будет этот код? .. – veeramani

2

код, который делает все, что обрабатывается в UINavigationController классе Apple. Вы не видите этот код.

Если вы хотите изменить поведение классов Apple, они иногда делегируют ответственность за некоторые из действий, которые они выполняют, или иногда просто предоставляют информацию о том, что что-то произойдет.

Например, если ваш класс становится делегатом UINavigationController он будет посылать вам два сообщения:

– navigationController:willShowViewController:animated: 
– navigationController:didShowViewController:animated: 
+0

Спасибо jack. Но мы видим, что функции класса UINavigationController правы.? – veeramani

+0

Yup. UINavigationController сообщает вам, какие функции он может выполнять. В объективе-c они объявляются в файле .h, а код - в .m-файле. В Xcode перейдите в файл> Открыть быстро и введите UINavigationController.h. Кроме того, вы можете посмотреть в документации, чтобы узнать, что она делает. Однако вы не видите этот фактический код. – jackslash