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 say MainStoryboard5.storyboard
.
Add this new storyboard MainStoryboard5.storyboard
in project (in Xcode) by right clicking Project and clicking Add 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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…