Я немного запутался в том, где твоя проблема.То, что вы пытаетесь сделать, возможно и должно быть прямым.Если ваша проблема заключается в том, что представление Next не перемещается, потому что в popoverController у вас нет доступа к self.navigationController
.Это простое решение, создайте переменную UINavigationController и передайте navigationController вашему всплывающему оконному устройству или используйте уведомления, чтобы передать то представление, которое нужно отправить обратно в ваш AppDelegate.
РЕДАКТИРОВАТЬ
Вы можете использоватьэто для прослушивания уведомлений:
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(popOverViewControllerSelected:) name:@"popOverViewSelectedViewToPush" object:someObjectTellingYouWhatViewToPush];
Затем используйте это для отправки уведомлений:
[[NSNotificationCenter defaultCenter] postNotificationName:@"popOverViewSelectedViewToPush" object:@"ViewController1"];
Селектор будет именем вашей функции (я просто поместил описательное имя "popOverViewControllerSelected")и объект должен был бы быть информацией о том, какой viewController выдвинуть (то есть 1,2,3 или @ "view1").Тогда вам понадобится:
- (void)popOverViewControllerSelected:(id)sentObject
{
// If your passing an NSNumber could use a switch
switch ((int)sentObject) {
case 0:
//Push This view
break;
case 1:
//Push that view
break;
case 2:
//Push someother view
break;
default:
break;
}
}
Другой способ, о котором я говорил, это добавить в вас popOverViewController.h
@interface .........
{
UINavigationController *navController;
}
@property (nonatomic, retain) UINavigationController *navController;
В вашем popOverViewController.m добавить:
@synthesize navController;
Затем, куда бы вы ни добавляли popOverViewController, просто добавьте:
[popOverViewController setNavController:self.navigationController];
И теперь в вашем PopOverViewController вы можете вызвать:
[navController pushViewController:someViewController animated:YES];
Но я рекомендую сделать первый вариант,