简体   繁体   中英

Making application compatible with iPhone4 and iPhone5 without setting diffrent frame size

Today i am going to create an iphone application which is compatible with iphone4 and iphone5. Earlier i have changed iphone4 application views programetically by using below code to adjust controllers for iphone5.

 CGRect screenBounds = [[UIScreen mainScreen] bounds];
 if (screenBounds.size.height == 568) {
 // code for iphone5
 }
 else {
 // code for iphone4
 }

am thinking this is difficult to track all the frames and sizes of controllers each and every time. I have created one sample app and also tried with Auto-resizing option(i have put check mark) at the starting of view and selected size Retina 4 full screen in inspector. And also selected simulator hardware-device is iphone Retina-4 inch

为iPhone5选择

if i change simulator hardware-device is iphone Retina-3.5 inch then the screen is looking like

为iPhone4选择

My question is without setting frames how can i achieve this problem. Please help me. Thanks in advance.

Instead of giving static numbers give frames dynamically . means instead of giving 320 give self.view.frame.size.width so you no need to check the device, just you need to add default splash screen.

You problem could be resolved easily using Autolayout feature provided in the XCode Version 4.x . Go through the following link :-

http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2

By applying few contraints using Autolayout your problem could easily be resolved. Happy Coding :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM