I have a project created in Xcode 5. The "Deployment Info" settings says Devices: Universal but has separate iPhone and iPad settings and corresponding iPhone and iPad storyboards.
Now I'm developing the same project in Xcode 6 and I want to use one universal storyboard instead of two storyboards. I have only worked on the iPhone storyboard and haven't touched the iPad one. Is it possible to ditch the iPad storyboard and convert the existing iPhone storyboard to be my main universal storyboard?
If you had created a universal project, by default empty iPad storyboard would have been created, you just have to select iPhone storyboard select all (Command+A), copy (Command+C) and paste it on iPad storyboard.
1. Create storyboards by File -> New -> File -> Select Storyboard -> Next -> Give it a name -> Create.
I adapted this tutorial and a similar solution by @tharkay to create this solution below.
Main_iPhone.storyboard
to Main.storyboard
Main_iPad.storyboard
Main_iPad.storyboard
to Main.storyboard
and delete the Main_iPhone.storyboard
file. You will then need to go to the File Inspector and right-click your storyboard, then select “Open as Source Code”. This will display all that XML code. Change targetRuntime
from "iOS.CocoaTouch.iPad"
to "iOS.CocoaTouch"
From:
targetRuntime="iOS.CocoaTouch.iPad"
to:
targetRuntime="iOS.CocoaTouch"
Main.storyboard
for both iPhone and iPad.Main.storyboard
, on the right-hand panel choose the Show the File inspector
icon. Use Size classes
In xCode 9 I also had to add useTraitCollections="YES"
property into document tag (same place where targetRuntime="iOS.CocoaTouch"
is).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With