ios - Develop for iPhone 4 or 5 First -


i've searched every combination can try , find answer this, i'm sure it's been asked somewhere....so forgive me if can point me in right direction.

if you're developing new ios app, setup layout in ib iphone 5 or 4 screen size first? i've found plenty of articles on using autolayout move iphone 4 apps iphone 5, not vice versa....which makes me think desired workflow apps aren't going have separate interface 2 create interface in ib 3.5" screen size , use autolayout adapt iphone 5's 4" screen.

can clarify best practice me?

kendall geln makes points. better build smaller screen , resize - because shrinking elements provide bad , cramped experience user. on note need make sure graphics (images , videos) sized both screen sizes. when creating graphics, may best create them @ large scale first , size them down needed.

another design consideration creating different interfaces 4-inch , 3.5-inch screens. 4-inch screen taller , provides developers more space, , therefore more possibilities. same principal designing ipad , iphone interfaces.

you mention doing in interface builder. default (now in xcode 4.6+) new iphone-based projects start interface @ 4-inch / iphone 5 layout. can toggle between layouts @ time clicking screen-size toggle button (looks rectangle arrows on either end) in lower right corner of interface builder / editor screen:

toggle screen size in xcode ib

if need different interfaces different screen size, load storyboards conditionally in appdelegate. here's how might go doing that:

if ([[uidevice currentdevice] userinterfaceidiom] == uiuserinterfaceidiomphone) {     // check if user on newer iphone / ipod 4-inch screen     if ([[uiscreen mainscreen] bounds].size.height == 568) {         // user on newer device 4-inch screen - load custom iphone 5 storyboard         uistoryboard *storyboard = [uistoryboard storyboardwithname:@"mainstoryboard_iphone5" bundle:nil];         uiviewcontroller *initviewcontroller = [storyboard instantiateinitialviewcontroller];         [self.window setrootviewcontroller:initviewcontroller];     } else {         // user on older device 3.5-inch screen - load regular storyboard         uistoryboard *storyboard = [uistoryboard storyboardwithname:@"mainstoryboard_iphone" bundle:nil];         uiviewcontroller *initviewcontroller = [storyboard instantiateinitialviewcontroller];         [self.window setrootviewcontroller:initviewcontroller];     } } 

in summary, don't think there correct workflow (ex. 3.5 4, or vice versa), should keep these points in mind:

  • scaling down large interfaces can make them cramped , cause bad user experience
  • the same cannot said graphics... if design graphics @ low resolution or small size , scale won't (same principle applied when designing retina , non-retina devices).
  • consider different screen sizes , can done on each. remember possible create separate storyboards.

edit: starting @ beginning of 2013 apple not allow apps onto appstore not support iphone 5. must support iphone 5 screen size app or updates onto store.


Comments

Popular posts from this blog

android - getbluetoothservice() called with no bluetoothmanagercallback -

sql - ASP.NET SqlDataSource, like on SelectCommand -

ios - Undefined symbols for architecture armv7: "_OBJC_CLASS_$_SSZipArchive" -