This is a great question.
What you need to do is,
-
Select your current 4/4s storyboard, go to File, duplicate, then give it an iPhone 5 specific name.
Make sure that Target and your app name is checked. -
Next you have to select the scenes in your storyboard and in the Attributes Inspector change the size to Retina 4 Full Screen.
This allows you to rearrange everything for this display. -
Finally in application didFinishLaunchingWithOptions paste the following code with the storyboard name you gave for your 4 inch storyboard.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){ UIStoryboard *storyBoard; CGSize result = [[UIScreen mainScreen] bounds].size; CGFloat scale = [UIScreen mainScreen].scale; result = CGSizeMake(result.width * scale, result.height * scale); if(result.height == 1136){ storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone_5" bundle:nil]; UIViewController *initViewController = [storyBoard instantiateInitialViewController]; [self.window setRootViewController:initViewController]; } } return YES; }
If anyone don’t get how to do step 1, do as below.
-
Go to Project directory and copy paste the
MainStoryboard.storyboard
and rename new storyboard to sayMainStoryboard5.storyboard
. -
Add this new storyboard
MainStoryboard5.storyboard
in project (in Xcode) by right clicking Project and clickingAdd Files to ....
-
Now we have two storyboards in xcode.
Tip
You may have to use ‘Product > Clean’ for this to work after you have done all the above.