这是Dismissing a UIpopover关于如何关闭弹出框的后续问题。
我有类似的情况,但它是在 Master Detail iPad 应用程序的上下文中的 UIPopover。我基本上创建了两个导航控制器(这是来自 CS193P 的建议),一个用于 Master,一个用于 Detail。
在我的 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 的方式相同,以避免混淆主要问题。