在Xcode 6中开发通用应用程序

27

我安装了Xcode 6 beta,正在尝试开发通用应用程序。 在Xcode 6之前,您必须为iPad和iPhone创建2个单独的Storyboards,并且可以在“部署信息”中设置它。

enter image description here

在Xcode 6中,似乎已经取消了此分离。 没有2个选项卡可用于单独设置Storyboard。

enter image description here

但是,当您要创建一个Storyboard时,会要求您选择设备系列。

enter image description here

请问有人可以解释一下Xcode 6中发生了什么吗?

谢谢。


3
之前有人问过同样的问题,WWDC上回答说这不是一个bug,而是Xcode结构性变化造成的。你可以在“通用应用程序的统一Storyboard”部分找到更多信息:https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html - holex
3个回答

22
为了支持新的Size Classes,您需要在Storyboard的文件检查器中启用"使用Size Classes"。这将允许您为多种设备大小配置Storyboard。
请注意,此操作将使您的Storyboard与Xcode 5不兼容。
启用后,您将看到屏幕底部出现大小选择器。使用它来选择您的设备大小:
在项目首选项中,您仍然可以使用下拉框为iPhone或iPad选择不同的Storyboard。请注意,如果您为每个设备选择不同的Storyboard,则Storyboard名称将保持不变。
即使这仍然是一种选择,但苹果正在推动开发者向一个统一的Storyboard迈进。

嗨,Mike,谢谢。时间非常完美,因为我由于缺乏关于这个问题的信息而搁置了一段时间,现在我刚开始尝试理解这个新的大小类别。 - Isuru
嗨,Mike,我在使用iPhone和iPad的通用故事板时遇到了问题。我已经使用Xcode6中提供的不同大小类别为iPad和iPhone设计了应用程序。但是现在,当我将标签的输出连接到iPhone设计,然后再连接到iPad设计时,输出会从先前的设计中断开。你能告诉我问题出在哪里吗? - Rohit

0

在使用Xcode 6 >版本时,如果需要为iPhone和iPad使用不同的故事板,需要遵循xcode-6-separate-storyboard-for-ipad-and-iphone

注意:对于不使用自动布局应用程序,因此在为iPad添加新的故事板并禁用自动布局时,将出现一个弹出窗口,这就是您需要保留大小类数据到iPad,如下图所示。

enter image description here


0

现在似乎使用自动布局来支持所有设备,但您可以创建单独的故事板吗?您尝试在应用程序委托中调用单独的故事板了吗

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
       //Use iPhone Storyboard

     } else {

       //Use iPad Storyboard
     }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接