Developing universal in Xcode 6

2019-01-22 02:33发布

问题:

I have Xcode 6 beta installed and I'm trying to develop an universal app. Before Xcode 6, you had to create 2 separate Storyboards for iPad and iPhone and you could set it in the Deployment Info.

In Xcode 6, it seems that separation is gone. There aren't 2 tabs to set the storyboards individually.

But when you go to create a Storyboard, you are asked to choose a device family.

Can someone explain what's going on in Xcode 6 please?

Thank you.

回答1:

To support the new Size Classes, you'll need to enable "Use Size Classes" in the File Inspector of your storyboard. This will allow you to configure your storyboard for multiple device sizes.

Note that this will make your storyboard incompatible with Xcode 5.

When you've enabled this, you'll see the size selector appear at the bottom of the screen. Use this to select your device size:

In your project preferences, you can still select a different storyboard for iPhone or iPad using the dropbown box. Notice that the storyboard name will persist if you select a different one for each device.

Even though this is still an option, Apple is moving developers towards a single, unified storyboard.



回答2:

It seems Auto layout is used to support all devices now, yet you can create separate storyboards? Have you tried calling the separate storyboards in code in the app delegate

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

     } else {

       //Use iPad Storyboard
     }


回答3:

After Xcode 6 > version for using different storyboard for iPhone and iPad need to follow xcode-6-separate-storyboard-for-ipad-and-iphone

Note : For Application which does not use Auto Layout, so while adding new storyboard for iPad and disabling auto layout, a pop will appear that's where you need keep size class data to iPad as shown in below screen.