使用Storyboard更改MasterDetail iPad应用程序中的详细视图

12

我有点迷茫。我有一个基本的主从应用程序,并且我想根据MasterViewController中选择的行更改详细视图,但是这两个视图具有不同的内容,其中一个具有图像画廊,而另一个将在全屏上加载视频。这不仅仅要刷新详细视图,还必须加载另一个视图。哪种方法更好(快速)?

3个回答

17

我建议您使用 替换过渡

只需创建一个转场,使其由样式替换启动到所需视图,并由目标详细分割

转场是在iOS 5 SDK中引入的。

编辑:

以下是完成您需要的步骤说明。从现在开始:

  • 应按下以执行操作的项目(主视图中的按钮或行)= *按钮
  • 您希望放置在iPad详细查看器中的视图= *详细信息

只是为了方便解释而进行命名

  1. 按住ctrl单击* Button ,然后按住并拖动到* Detail,然后释放以创建您的转场。
  2. 在弹出窗口中选择替换
  3. 选择您的转场,打开属性检查器,并将目标设置为详细分割

就这样。

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


仍然无法理解,到目前为止我看到的所有示例中,详细视图始终具有相同的内容,只更改一个图像或一些文本。您是否有任何关于如何执行您所说的操作的示例或教程? - Vinícius Albino
1
@user1108474,你知道什么是_iTunes U_吗?它有非常好的斯坦福大学iPhone和iPad开发课程。此外,您还可以查看下一个应用程序:http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/sample_code/Psychologist%20with%20Dr%20Pill_0.zip,您需要做的事情是通过_Dr Pill_视图完成(当您按下按钮时)。此外,我将在我的答案中添加更详细的描述。 - Uko
Uko... 你太棒了!你救了我一命!我已经为此奋斗了3天,似乎没有人知道答案,或者不愿回答。非常感谢您花时间回答这个问题。问候,Spokane-Dude - SpokaneDude
不客气!祝您有美好的一天 :) 顺便问一下,您能将这个答案标记为正确吗? - Uko
1
我现在有一个分割视图控制器,它可以工作... 但是替换的详细视图没有导航栏,因此没有弹出按钮。你有什么想法我错过了什么吗? - Jean-Denis Muys
显示剩余3条评论

1

如果您在MasterViewController中使用动态表格视图,请使用以下方法来实现numberOfRowsInSection:(NSInteger)section方法:

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];
}

1
具体而言,在CS193P中,请查看最新版本,并查看第7讲。Paul没有完成替换Segue的部分,但他提供了一个非常好的可重用代码示例(与Dr Pill的心理学家)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接