iPad Master-Detail视图使用iPhone的类

时间:2014-01-04 05:48:32

标签: ios iphone objective-c ipad master-detail

我有一个带有UITableView的iPhone故事板,可以使用导航控制器分割到详细视图。我正在尝试在主 - 细节UI中重用同一个应用程序的iPad版本中的类。

以下是我的故事板如何看待我正在做的事情:

iPhone and iPad storyboards

我希望尽可能多地重用代码,到目前为止,我已经成功地将PPAircraftViewController类重用于aircraftTableView

问题:由于iPad应用已使用PPAircraftViewController来保存表格和详细信息视图,因此如何重复使用PPAircraftDetailViewController类及其所有代码{{1 }} S'


Xcode 5,面向iOS 6& 7,UISplitViewController不是一个选项,因为所有这些都嵌入在父导航控制器中。

2 个答案:

答案 0 :(得分:1)

我终于找到了我想要的东西。我无法相信我花了这么长时间才能记住它,但这个场景的完美解决方案是UIContainerView

它允许我将PPAircraftDetailViewController嵌入其包含的视图控制器中,如下图所示。

谢谢大家!

UIContainerView

答案 1 :(得分:0)

在iPhone上,PPAircraftDetailViewControllerPPAircraftViewController推到导航堆栈上。

这使得用户可以看到其中一个。

在iPad上,Apple提供了一种机制,可以在UISplitViewController中并排显示MasterView和DetailView。

在这种情况下,MasterViewController不会“推送”DetailViewController,而是通过IBOutlets和Delegation激活它。

您可以将PPAircraftViewController作为(部分)MasterViewController,将PPAircraftDetailViewer作为(部分)DetailViewController。

这将需要一些调整,但也将节省您的大量精力,因为调整和旋转将由SplitViewController完成。