在Master-Detail应用程序中的DetailViewController中显示文档

时间:2012-08-23 03:07:12

标签: ios5 xcode4.3 master-detail ipad xcode-storyboard

我有一个适用于iPad的Master-Detail应用程序。我正在使用故事板。当用户选择MasterViewcontroller中的单元格时,数据将显示在另一个表格中(UITableViewController)。当用户在第二个表中选择一个单元格时,我想在DetailViewController中显示相关信息。第二个表显示文档列表(PDF,XLS等)。因此,当用户选择abc.pdf时,我希望在Detailviewcontroller中显示PDF文档(以只读模式)。

我找到了几个直接从MasterViewcontrollerdetailviewcontroller执行此操作的示例。但我无法从第二张表中实现这一点。导航如下所示:

Table1 (parent data)
    |
    V
Table2 (child data, which as I said is a list of documents)
    |
    V
Detailview (display the selected document in read-only mode)

1 个答案:

答案 0 :(得分:0)

故事板或NIB?

假设故事板,

  • 将第二个主表格视图中的segue定义到将显示PDF的新详细信息屏幕; segue应该是替换细节屏幕的“替换”segue;
  • 给该segue一个唯一的标识符;
  • tableView:didSelectRowAtIndexPath方法中,使用该标识符执行segue;
  • 在显示PDF的新详细信息视图控制器中,定义一个属性,其中包含要打开的PDF的名称;在该控制器的viewDidLoad中,让它打开PDF进行查看;和
  • 在主视图控制器的prepareForSegue中,根据您选择的表格行设置新视图控制器的属性。

如果不是故事板,那么过程是相似的,而不是一个segue和一个prepareForSegue,你在alloc中手动initWithNibName / didSelectRowAtIndexPath,你会在新控制器中设置pdf name属性的值,然后根据需要通过pushViewController或presentViewController将详细信息屏幕转换为它。