Some of my apps use custom images as the background. What is the proper way to check the screen size to place the proper image?
Should it be something like this in viewDidLoad:
if ([UIScreen mainScreen] == 2.0)
{
UIImage * backgroundImage = [UIImage imageNamed:@"[email protected]"];
backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage]];
}
else
{
UIImage * backgroundImage = [UIImage imageNamed:@"bgimage.png"];
backgroundImageView = [[UIImageView alloc] iniWithImage:backgroundImage]];
}
Any tips/advice is much appreciated!
Thanks!
Go to Settings>Wallpaper.
The following code checks the size / bounds of the screen. If the screen is 586 points (remember, that the screen is measured in points because of Retina) than we know that it is the new 4-inch Retina Display.
if ([[UIScreen mainScreen] bounds].size.height == 568)
{
UIImage * backgroundImage = [UIImage imageNamed:@"[email protected]"];
backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];
}
else
{
UIImage * backgroundImage = [UIImage imageNamed:@"bgimage.png"];
backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];
}
See also iOS 6 apps - how to deal with iPhone 5 screen size?
Bryan's answer above worked for me, except that I had to use
[self.bgImageView setImage:backgroundImage];
rather than
backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];
The correct image only displays if I use the former.
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