Search code examples
iosiphone-5autoresizeiphone-4

auto adjusting UI elements for iphone4S and iphone5


After a long search for how to display UI elements correctly on both iphone4S and iphone5.I am now confused as whats the best way to display UI elements in the Xib.Should I use autoresizing Feature in size inspector or should I use auto layout?If I use autoresizing, the image gets distorted. Moreover ,I have also seen people doing the below

NSString *filename = @"image.png";
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    if (screenRect.size.height == 568.0f)
        filename = [filename stringByReplacingOccurrencesOfString:@".png" withString:@"-568h.png"];

    self.imageView.image = [UIImage imageNamed:filename];

Can anybody assist me as how should I proceed with my problem?


Solution

  • I think your method is right but this code will be more cleaner way to put this.

    NSString *filename;
    CGRect screenBounds = [[UIScreen mainScreen] bounds];
        if (screenBounds.size.height == 568) {
            filename = @"image.png";
            self.imageView.frame = CGRectMake(0,0,400,300);
        } else {
            self.imageView.frame = CGRectMake(0,0,300,300);
        }
    self.imageView.image = [UIImage imageNamed:filename];
    

    And also if you want to change size of imageview accordingly to the iPhone than also you can use this code.