如何在单独的故事板Xcode 6中为iPhone和iPad开发

时间:2014-10-31 22:44:29

标签: ios storyboard xcode6

在Xcode5中我有两个故事板,一个用于iPad,一个用于iPhone

听起来更容易观看viewControllers的流程,因为在iPhone上你不能做你在iPad上做的事情(UIPopoverControllers和其他很酷的东西)

现在在Xcode6中实现了通用故事板,这对某些人来说很好,但是如果你想继续使用独立的故事板,我看不到为iPhone设置一个StoryBoard和iPad的其他选项,我只看到这个:

enter image description here

只是一个主界面...如何改变它之前的情况??? (两个故事板)

2 个答案:

答案 0 :(得分:1)

从XCode 6开始,不再采用集成的方式为不同的设备制作故事板,但您可以在应用代理中手动破解以使用两个不同的故事板。

首先,创建第二个故事板。你现在应该有两个故事板: Main~iPhone.storyboard Main~iPad.storyboard (名字并不重要)。

然后在您的app委托中执行此操作:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    UIStoryboard *storyboard;
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        storyboard = [UIStoryboard storyboardWithName:@"Main~iPad" bundle:nil];
    } else {
        storyboard = [UIStoryboard storyboardWithName:@"Main~iPhone" bundle:nil];
    }
    self.window.rootViewController = [storyboard instantiateInitialViewController];
    [self.window makeKeyAndVisible];
    return YES;
}

(PD:您应该了解Adaptive UIs而不是遵循这种方法。您将能够使用UIPopOvers和所有iPad的东西与一个通用故事板 - iPhone会做不同的事情。例如,在你选择弹出的iPad,iPhone会显示模态视图。)

答案 1 :(得分:0)

这仍然适用于我...但我使用的是部署目标6.0 我的上一个版本特别适用于iOS 8.1和iPhone 6。 我担心这可能是唯一的解决方案:-( 您可以在其他参数中为编译器,故事板等选择8.1。