Использование немодального делегирования для iPhone - PullRequest
0 голосов
/ 16 августа 2010

Хорошо, я понимаю, как работать делегирование в модальном представлении, чтобы отправить сообщение родительскому контроллеру, но что, если я хочу сделать это с двумя представлениями, которые не имеют отношения родитель-потомок?

У меня есть контроллер навигации, который переворачивает модальное представление, а затем это модальное представление выдвигает новый контроллер представления. Как мне разрешить этому пуш-контроллеру взглянуть на навигационный контроллер? Код модального вида, который я использовал, помещает это в родительский код:

-(IBAction)pressedUnitAddy {
UnitAddyView *unitVC = [[UnitAddyView alloc] init];

unitVC.delegate = self;

UINavigationController*  theNavController = [[UINavigationController alloc]initWithRootViewController:unitVC];

theNavController.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[self presentModalViewController:theNavController animated:YES];

[unitVC release];
[theNavController release];

}

- (void) didDismissUnitAddyView { [self dismissModalViewControllerAnimated: YES]; }

.... и затем я вызываю didDismissUnitAddyView из UnitAddyView. Теперь я не пытаюсь отклонить какие-либо представления с помощью того, что я пытаюсь сделать, но я хочу, чтобы контроллер с принудительным просмотром мог общаться с контроллером навигации. Как бы я это сделал?

Ответы [ 2 ]

0 голосов
/ 16 августа 2010

Все, что я пытался сделать, это перезагрузить данные на экране контроллера навигации.UIViewController и контроллер nav мы напрямую не связывали - они были разделены через modalview.Все, что я сделал, и я должен был подумать об этом ранее, - это установить делегат модального представления для контроллера nav и вызвать метод для перезагрузки контроллера nav при отклонении модального представления.

0 голосов
/ 16 августа 2010

Контроллеры представления имеют свойство navigationController, которое равно нулю, если они не помещены в контроллер навигации, и является указателем на навигацию, если они есть. Это отвечает на ваш вопрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...