使用故事板从MasterDetail iPad应用程序更改详细信息视图

时间:2012-02-19 19:36:17

标签: ios ipad storyboard detailsview master-detail

我在这里迷路了。我有一个基本的主 - 细节应用程序,我想根据MasterViewController中的选定行更改细节视图,但视图有不同的内容,一个有图像库,另一个将在全屏加载视频。它不仅仅是刷新细节视图,还必须加载另一个视图。如何更好(快速)地做到这一点?

3 个答案:

答案 0 :(得分:17)

我建议您使用替换segue

只需使用样式替换目标详细信息拆分,创建一个由您的行启动的所需视图的segue

在iOS 5 SDK中引入了Segues

修改

这些是逐步完成您所需要的说明。 从现在开始:

  • 应该按下以执行操作的项目(主视图中的按钮或行)= *按钮;
  • 您想要放置在iPad详细视图中的视图= *详细信息

只是为了便于解释而命名

  1. 按住 ctrl 点击 *按钮,然后按住并拖动到 *详细信息并释放以创建您的segue。
  2. 在弹出式选择替换
  3. 选择您的segue,打开属性检查器并将目标设置为详细信息拆分
  4. 就是这样。

    有关segues的更多信息:http://www.scott-sherwood.com/?p=219

答案 1 :(得分:1)

具体来说,在CS193P中,查看最新版本,并查看讲座#7。 Paul并没有完成替换Segue的部分,但他提供了一个非常好的可重用代码示例(Pill博士的心理学家)

答案 2 :(得分:1)

如果您在MasterViewController中使用动态表视图,请实现numberOfRowsInSection:(NSInteger)部分方法:

return [_youDataArrayNameHere count];

然后在cellForRowAtIndexPath上配置单元格:

cell.textLabel.text = [_youDataArrayNameHere  objectAtIndex:indexPath.row];

并在didSelectRowAtIndexPath中,根据所选行调用任何其他视图:

//
if (indexPath.row == 0) {
     [_detailViewController.navigationController pushViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"anotherVC01Here"] animated:YES];
}