将iPhone应用程序转换为通用

时间:2013-04-03 15:45:39

标签: iphone ios objective-c ipad

我正在尝试将我的iPhone应用转换为通用应用,因此我为iPad添加了一个新的Storyboard。是否更好地使用设备检查和代码来修改现有的VC来处理iPad,还是应该复制这些ViewControllers并修改它们以便与iPad兼容?

谢谢!

编辑:

抱歉缺乏信息。我不确定我需要提供哪些其他信息。我使用的是最新版本的6.1。

视图基本相同,只是它将针对屏幕空间进行优化。结构如下:

  1. 登录控制器(除了细节之外几乎完全相同)
  2. 主视图控制器 在iPhone中它只是一个推送详细视图的TableView(来自分页的3个VC) 在iPad中,我想使用一个分屏视图,它在一个屏幕上使用TableView和Detail View。
  3. 由于

2 个答案:

答案 0 :(得分:3)

这取决于你。就个人而言,我喜欢为相同的视图使用相同的视图控制器,即使它们彼此不同。例如,TidBITS新闻应用程序在iPhone上具有导航控制器,主视图(故事标题表)和详细视图(个人故事),但拆分视图控制器包含iPad上的主视图和详细视图。有两个故事板,但只有一个MasterViewController类文件和一个DetailViewController类文件。当然,现在,这些文件包含一些条件代码(如果我们在iPhone上运行则执行一项操作,如果我们在iPad上运行则执行其他操作)。我讨厌那个,但你能做什么?

如果您只是使用Master-Detail模板创建一个新的Universal项目,我想您会发现它的确是如此。

答案 1 :(得分:2)

由于您在iPhone上使用TableView而在iPad上使用SplitViewController,因此您需要使用不同的ViewController类。对于Login Controller,您可以为两个设备重用视图控制器。由于您可以基于每个视图引用视图控制器,因此您可以选择重用两个设备系列的视图控制器的位置。您可能需要考虑将.XIB用于登录视图控制器,因为如果使用AutoLayout,您可以使用单个视图定义。