Контроллер представления, вызывающий модальное представление - PullRequest
1 голос
/ 10 августа 2010

Как я могу надежно определить имя контроллера представления, который вызвал модальное представление из этого модального представления?В приложении есть синглтон, поэтому я планировал добавить туда контроллер представления и сохранить имя вызывающего контроллера представления..parentController дает мне имя контроллера навигации.

РЕДАКТИРОВАТЬ Я попробовал образец проекта, и он сделал так же, как мой, так что я думаю, возможно, не на той же странице.Я ценю, что вы работаете со мной над этим.Я скачал проект с

http://sites.google.com/site/iphonesdktutorials/sourcecode/UINavigationControllerWithToolbar.zip?attredirects=0

, добавил 2 строки и изменил 1, и это демонстрирует, что я получаю.Это заняло у меня все 5 минут, если что.В RootViewController.m добавьте info_clicked (строка 147), над последней строкой добавьте

NSLog(@"calling: %@", [[self navigationController] visibleViewController]); 

, затем, согласно вашим инструкциям, в последней строке измените self.navigationController на self.Этот контроллер - то, что я хочу получить от модала.Затем в InfoViewController.m, viewDidLoad (строка 35), перед добавлением закрывающей фигурной скобки,

NSLog(@"Parent: %@", [self parentViewController]); 

Измените настройки проекта базового SDK на 4.0, Build, откройте консоль и нажмите кнопку Info внизу,Я получаю UINavigationController для parentViewController и хочу RootViewController.

1 Ответ

1 голос
/ 10 августа 2010

Вы, вероятно, используете [self.navigationController presentModal...] вместо [self presentModal...].Если вы используете self, parentViewController будет работать.

...