带有故事板的iPad上的UISplitViewController?

时间:2012-02-14 05:38:30

标签: ios ipad xcode-storyboard

enter image description here

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

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

3 个答案:

答案 0 :(得分:18)

segue的一个很好的起点是斯坦福大学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,选择连接线,然后在Attributes检查器中,将Destination从“Master Split”更改为“Detail Split”。此时,您可以使用popover进行测试,无需编写任何代码。

Master Split Destination

Detail Split Destination

Solution

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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