【问题标题】:iPad, navigation stack in master view, select an item in master view and update detail viewiPad,主视图中的导航堆栈,在主视图中选择一个项目并更新详细视图
【发布时间】:2012-01-19 04:26:30
【问题描述】:

我正在构建我的第一个应用程序,并且一直在寻找答案,但找不到答案。可能是我在搜索时使用的关键字。所以这是我的问题。

这是一个带有主从模板的 iPad 应用程序 (Xcode 4)。主视图应该显示一个类别列表,在选择每个类别后,一个文章列表将被推送到主视图(导航栏上有一个返回按钮可以返回到类别列表)。

我可以让它工作到这里。选择文章后,我似乎无法使用文章名称更新详细视图中的标签。

这是我在 AppDelegate.m 中的代码:

MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];

ArticlesViewController *articlesViewController = [[ArticlesViewController alloc] initWithNibName:@"ArticlesViewController" bundle:nil];
UINavigationController *articlesNavigationController = [[UINavigationController alloc] initWithRootViewController:articlesViewController];

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController];

articlesViewController.mainDetailViewController = detailViewController;

self.splitViewController = [[UISplitViewController alloc] init];
self.splitViewController.delegate = detailViewController;
self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];
self.window.rootViewController = self.splitViewController;

如果我更改以下行:

self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];

self.splitViewController.viewControllers = [NSArray arrayWithObjects:articlesNavigationController, detailNavigationController, nil];

标签将被更新。

有什么建议吗?我看过有关连接到详细视图的主视图教程,其中主视图只有一级导航,但似乎找不到模拟我的情况的教程。再说一次,可能是我不知道要搜索的正确关键字。

谢谢你。

【问题讨论】:

    标签: navigation ipad master-detail


    【解决方案1】:

    我设法通过使用 NSNotificationCentre 使其正常工作。

    在 ArticlesViewController(在 MasterViewController 中选择类别后显示的第二层)中,我发布了一个本地通知。

    在 DetailViewController 中,我为通知添加了一个观察者。

    这样我可以更新详细视图中的标签。

    感谢这个精彩的视频教程:http://youtu.be/vnkNUoRtk1E

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      相关资源
      最近更新 更多