Сделайте доступным контроллер навигации AppDelegate из DetailViewController из SplitView - PullRequest
0 голосов
/ 27 января 2012

My DetailView SplitView имеет карту с аннотациями. При нажатии на аннотацию все окно (а не только DetailView) должно перейти в другое представление. К сожалению, это не работает.

Вот как я создаю свой NavigationController в моем AppDelegate

 UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];  
[self.window addSubview:navigationController.view];

Вот как я создаю SplitView

left = [[MapSplitViewLeft alloc] initWithStyle:UITableViewStylePlain];
right = [[MapViewController alloc] init];

splitViewController = [[UISplitViewController alloc] init];
splitViewController.viewControllers = [NSArray arrayWithObjects:left,right, nil];

self.view = splitViewController.view;

left.right = right;

[left release];
[right release];

И это то, что вызывается при нажатии на аннотацию:

- (void)showDetails:(id)sender {

 NSLog(@"Yes it works");

 VenueViewController *vviewcontroller = [[VenueViewController alloc]
 initWithNibName:@"VenueViewController" bundle:[NSBundle mainBundle]];

 AppDelegate *del = (AppDelegate *)[UIApplication sharedApplication].delegate;
 [del.navigationController pushViewController:vviewcontroller animated:YES];

}

Когда я нажимаю на Аннотация, я получаю только «Да, это работает», но больше ничего не происходит. Большое спасибо за любые советы.

1 Ответ

0 голосов
/ 27 января 2012

Каждый UIViewController имеет свойство "navigationController". Попробуйте использовать ваш текущий ViewController для установки нового Viewcontroller.

[self.navigationController pushViewController:vviewcontroller animated:YES];

edit: Извините, вы имеете в виду все окно! Я думаю, что это не сработает.

edit2: Может быть, этот ответ поможет вам как добавить представление над окном в uiviewcontroller Но я думаю, что это представление не в вашем навигационном стеке ControlCler-Stack

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