Получение ссылки на UIPopover, который появляется в контексте UISplitViewController в iPad Landscape - PullRequest
0 голосов
/ 19 мая 2011

Это дополнительный вопрос к Отклонение UIpopover относительно того, как отклонить поповер.

У меня похожая ситуация, но это UIPopover в контексте приложения Master Detail для iPad. Я в основном создаю ДВА навигационных контроллера (это от рекомендации CS193P), один для мастера и один для деталей.

в моем AppDelegate, у меня есть следующее для настройки моего UISplitViewController

#pragma 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Creating the EpisodesViewController (used on both iPhone and iPad)
EpisodesViewController *navControllerRootController = [[EpisodesViewController alloc] init];
UINavigationController *masterNav = [[UINavigationController alloc]initWithRootViewController:navControllerRootController];
[navControllerRootController release];
masterNav.title=@"Episodes";

if ([self iPad]) {
    EpisodeDetailViewController *detailViewController = [[EpisodeDetailViewController alloc]init];
    UINavigationController *detailNav = [[UINavigationController alloc]initWithRootViewController:detailViewController];
    detailNav.navigationBar.tintColor = [UIColor blackColor];

    self.splitviewController = [[UISplitViewController alloc] init];
    self.splitviewController.delegate=detailViewController;
    self.splitviewController.viewControllers = [NSArray arrayWithObjects:masterNav,detailNav,nil];
    [window setRootViewController:self.splitviewController];

    [detailViewController release];
    [detailNav release];
}else {
    [window setRootViewController:masterNav];
} 
[masterNav release];
[self.window makeKeyAndVisible];
return YES;
}

Итак. вопрос в том ... как мне получить ссылку на UIPopover, который появляется, когда я нажимаю кнопку "Эпизоды". То, что я хотел бы сделать, это реализовать решение из этого другого потока, но у меня нет ссылки (насколько я знаю) на мой поповер, чтобы я мог отклонить его.

[Правка] сделал так, что я создал detailNav так же, как я создал masterNav, чтобы избежать затуманивания основной проблемы.

1 Ответ

0 голосов
/ 19 мая 2011

Хорошо, я понял.

Я использовал комбинацию уведомлений, описанную здесь Отклонение UIpopover .. Я отправляю уведомление от

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

в моем главном представлении, и у меня есть переменная экземпляра, указывающая на UIPopover, как описано здесь

UISplitViewController в портретной ориентации: как программно скрыть главный поповер? , который я использую для фактического отклоненияpopover.

Работает как шарм.

: -)

...