从Uipopovercontroller列表视图内容调用多个视图

时间:2012-06-17 04:27:35

标签: ios uiview uipopovercontroller

当我以最有效的方式从我的Pop Over List View中点击每一行时,如何调用单个视图控制器?意思是,我不必重新编码以在每个单独的视图控制器中构建Pop Over List View组件,它们可以像导航工具一样共享它。

我的建设

我在主视图控制器上构建了弹出视图控制器列表。 这是执行appDidFinishLaunching时加载的第一个视图。 因此,当我们运行应用程序时,这就是我们得到的:

链接到Pop Over List View的屏幕截图: http://s14.postimage.org/63k567vtd/image.png

对于上面Pop Over列表中的每一行,我有一个方法可以将代码放入: 1.确定选择了哪一行 2.根据所选行,执行任何操作,如NSLog和东西 3.所有这些代码都位于主视图控制器

要求

我正在构建一个演示应用程序,因此目前所有数据都是虚拟数据。

  1. 当点击Pop Over列表中的每一行时,我需要调用单个View Controller。
  2. 每个View Controllers都有自己的数据集,自己的UI对象集,自己的XIB文件。
  3. 因此,如果用户点击应用程序,它必须打开Applications XIB文件及其功能,然后从此处进行任何导航。如果Application xib有一个启动另一个视图的按钮,那么该功能也应该就绪。
  4. 但是,它们都必须具有与弹出列表按钮相同的顶部导航栏,因此用户可以点击该按钮并随时在应用程序中查看“弹出”列表。
  5. 请分享您的观点。 谢谢。

1 个答案:

答案 0 :(得分:0)

我建议您查看UISplitViewController。它是Apple构建的一个组件,用于管理您尝试完成的任务。基本上,你用2个视图控制器设置它;第一个(称为" master")将是您的表视图。第二个(称为" detail")将是切换出来的视图控制器。

一旦你探索了一下并且对术语感到满意,这里有一般的建议:

在主表视图控制器的didSelectRowAtIndexPath:方法中,实例化相应的视图控制器(基于indexPath),并将其设置为详细视图控制器,如下所示:

- (void)tableView:tableView didSelectRowAtIndexPath:indexPath {
    UIViewController *newDetailVC = // make and configure a new VC based on indexPath
    self.splitViewController.viewControllers = [NSArray arrayWithObjects: self, newDetailVC, nil]];

}

以下是相应的链接: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISplitViewController_class/Reference/Reference.html#//apple_ref/occ/cl/UISplitViewController

以及(后面的部分):http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html%23