【问题标题】:Getting a reference to the UIPopover that pops up in the context of a UISplitViewController in iPad Landscape获取对在 iPad Landscape 中的 UISplitViewController 上下文中弹出的 UIPopover 的引用
【发布时间】:2011-05-20 01:20:51
【问题描述】:

这是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 的方式相同,以避免混淆主要问题。

【问题讨论】:

  • 好的,我已经想通了。

标签: ipad ios4 uisplitviewcontroller uipopovercontroller uipopover


【解决方案1】:

好的,我知道了。

我结合了此处描述的通知方法Dismissing a UIpopover .. 我从

发布通知
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

在我的主视图中,我有一个指向 UIPopover 的实例变量,如此处所述

UISplitViewController in portrait: how to hide master popover programatically? 用于实际关闭弹出框。

像魅力一样工作。

:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多