Slide 1

Slide 1 text

Developing an Universal iOS app Or converting a existing one into universal...

Slide 2

Slide 2 text

–Apple Developer Documentation “A universal app is a single app that is optimized for iPhone, iPod touch, and iPad devices.”

Slide 3

Slide 3 text

Universal app setup • First you'll need to set project Devices as 'Universal'

Slide 4

Slide 4 text

–Morpheus “You take the blue pill -- the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill -- you stay in Wonderland and I show you how deep the rabbit-hole goes.”

Slide 5

Slide 5 text

ViewControllers • Consider defining separate view controller classes for iPhone and iPad devices. • If you use a single view controller class for both platforms, your code must support both iPhone and iPad screen sizes.

Slide 6

Slide 6 text

Views • Consider using separate sets of views for iPhone and iPad devices. For custom views, this means defining different versions of your class for each device. • If you choose to use the same custom view for both devices, make sure your drawRect: and layoutSubviews methods especially work properly on both devices.

Slide 7

Slide 7 text

Using Runtime checks if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {! // The device is an iPad running iOS 3.2 or later.! }! else {! // The device is an iPhone or iPod touch.! }

Slide 8

Slide 8 text

Drawing objects self.wrapper.frame = CGRectMake(15, 10, self.frame.size.width - 30, 135);

Slide 9

Slide 9 text

Using different .XIB for the same ViewController

Slide 10

Slide 10 text

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {! self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];! } else {! self.view = [[[NSBundle mainBundle] loadNibNamed:@"DDSigninFormViewController~ipad" owner:self options:nil] objectAtIndex:0];! }

Slide 11

Slide 11 text

Live demo/coding

Slide 12

Slide 12 text

Thank you! @wolcanus [email protected]