iOS通用故事板iPhone iPad

时间:2015-07-02 13:10:28

标签: ios storyboard universal-storyboard

可以说,我有一个应用程序显示iPhone上的控制器A和iPad上的控制器B,您可以将其视为 UITableView (适用于iPhone)和 UICollectionView (对于iPad)例如。 两个控制器都具有相同的模型,并且还可以具有可以共享共享内容的相同基类。

现在,在通用故事板之前,我有两个独立的故事板,一个用于iPhone,一个用于iPad,在运行时我根据设备检查并加载了正确的故事板。

问题是在通用故事板中做到这一点的正确方法是什么?

选项1 - 使用一个具有tableview和集合视图的故事板,并为它们使用一个控制器并隐藏不必要的一个。

选项2 - 在这种情况下不要使用通用。

我试图了解我是否需要使用通用故事板,只要iPhone和iPad具有相同的用户界面?

3 个答案:

答案 0 :(得分:3)

如果iPhone和iPad的整个GUI不同,则应使用两个不同的故事板。

当您的GUI具有相同的控件并且您只想根据屏幕框架调整控件时,大小类和通用故事板非常有用。

如果这只是iPhone和iPad的控件不同的一个案例,那么做一件事: -

使用通用故事板并为iPhone和iPad创建两个ViewControllers,如: - IphoneViewController和IpadViewController,并在运行时检查您的设备是iPad还是iPhone,并确定需要加载/推送/存在哪个控制器。

答案 1 :(得分:2)

你的iPhone应用程序中不需要UITableView,UICollectionView基本上是一样的。

只需制作两种UICollectionViewCells,就可以使它看起来像一个基本的表视图单元格,并且可以在正确的设备上使用它们。您可能还需要第二个UICollectionViewFlowLayout。

答案 2 :(得分:1)

我认为您将使用一个故事板并在其中创建两个单独的VC类,并根据您的设备类型推送正确的故事板对象。仅使用两个故事板的一个视图并不是一个好主意,它只是浪费内存并增加你的工作