0

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

我发现了几个直接从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)
4

1 回答 1

0

故事板还是 NIB?

假设故事板,

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

如果不是情节提要,则过程类似,但不是 segue 和 a prepareForSegue,而是手动alloc/ initWithNibNamein didSelectRowAtIndexPath,您将在新控制器中设置 pdf name 属性的值,然后将详细信息屏幕转换为它通过 pushViewController 或 presentViewController,如您所见。

于 2012-08-23T16:35:22.330 回答