6

在此处输入图像描述

在 Xcode 中,如何创建一个使用 Storyboard 的简单 iPad 应用程序,以便为每个条目换出 DetailView 控制器?我见过的大多数示例都使用 iPhone,或者他们只是更改了同一个详细视图控制器中的值。

我想从静态 TableView 控制器(比如 3 行)在 Interface Builder 中创建 segues,其中每行将加载一个不同的游戏细节视图控制器,我将在 IB 中将其拖出并设计。目前,当我使用 segue 连接视图控制器时,它会替换 UISplitViewController 的导航部分。换句话说,这就像我正在遍历一棵树,我需要告诉 IB 我在一个根节点,我应该更改详细视图。

4

3 回答 3

18

segues 的一个很好的起点是斯坦福大学 CS193p 2011 年秋季课程的第 6 和第 7 课。

http://itunes.apple.com/us/itunes-u/ipad-iphone-application-development/id473757255

讲师 Paul Hegarty 涵盖了所有内容。然而,在下课之前他没有时间回答这个问题。他确实在文件中包含了最终解决方案的来源:Pill.zip 博士的心理学家。

http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2011-fall

基本上,这个问题需要做的就是从每个 UITableCell Ctrl 拖动到相应的游戏细节视图控制器,然后选择 Replace segue。由于默认情况下 Xcode 认为您要替换主控制器,因此视图控制器将缩小,因此还有一步。对于每个 segue,选择连接线,然后在属性检查器中将 Destination 从“Master Split”更改为“Detail Split”。此时,您可以使用弹出框进行测试,而无需编写任何代码。

主拆分目标

明细分割目的地

解决方案

于 2012-04-09T02:19:38.480 回答
1

Apple 提供了一个更通用解决方案的示例代码,用于解决如何根据在主视图中选择的内容交换不同的详细视图的问题。Apple 示例代码通过引入 UISplitViewControllerDelegate 协议的自定义实现来实现这一点:

https://developer.apple.com/library/ios/samplecode/MultipleDetailViews/Introduction/Intro.html

于 2013-10-23T14:02:31.953 回答
0

没有图片很难描述,但是:有一个导航控制器作为主人。然后用一个替换的命名segue挂起每个detailview。然后你需要一些代码。在 didSelectRowAtIndexPath 中的主视图控制器中,您需要一个基于 indexpath.row 的 switch 语句,并在每一行中调用 detailview performSegueWithIdentifier:@"the row you want"

于 2012-03-23T06:52:43.123 回答