Get the LaunchImage of the app

Get the LaunchImage of the app

[[153741]]

The management of LaunchImage is actually quite simple in iOS, especially after Xcode introduced xcassets, it is a completely fool-proof operation. But sometimes we still need to do something with LaunchImage.

LaunchImage will disappear immediately after the APP is initialized and the APP interface will be displayed. But sometimes we don’t want it to disappear so quickly (for example, some people want a transition effect, while others want it to disappear after certain settings or data are loaded). This is also very simple. We just need to display LaunchImage again and pin it to the top.

For example,

However, we have configured so many LaunchImages for different screen resolutions. How do we get the LaunchImage that is suitable for the current screen resolution?

The common way is to add all LaunchImage to the project and name them according to the screen resolution, such as (640_960.png 640_1136.png ...) and then use code to splice the corresponding file name in the program and reference it.

However, this method is relatively primitive and if Apple releases some devices with other resolutions in the future or the startup image changes, it will need to be manually modified. The project configuration is not good and it will take up more resources (the capacity of the APP will increase again).

Cherpak Evgeny on stackflow shared a better way to directly read the settings in NSBundle to get the currently applicable LaunchImage

I wrote a demonstration code based on the above picture as an example

  1. CGSize viewSize = self.window.bounds.size;
  2. NSString *viewOrientation = @ "Portrait" ; //For horizontal screen, please set it to @"Landscape"  
  3. NSString *launchImage = nil;
  4. NSArray* imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@ "UILaunchImages" ];
  5. for (NSDictionary* dict in imagesDict)
  6. {
  7. CGSize imageSize = CGSizeFromString(dict[@ "UILaunchImageSize" ]);
  8.       
  9. if (CGSizeEqualToSize(imageSize, viewSize) && [viewOrientation isEqualToString:dict[@ "UILaunchImageOrientation" ]])
  10. {
  11. launchImage = dict[@ "UILaunchImageName" ];
  12. }
  13. }
  14. UIImageView *launchView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:launchImage]];
  15. launchView.frame = self.window.bounds;
  16. launchView.contentMode = UIViewContentModeScaleAspectFill;
  17. [self.window addSubview:launchView];
  18. [UIView animateWithDuration: 2 .0f
  19. delay : 0.0f
  20. options:UIViewAnimationOptionBeginFromCurrentState
  21. animations:^{
  22.                        
  23. launchView.alpha = 0 .0f;
  24. launchView.layer.transform = CATransform3DScale(CATransform3DIdentity, 1.2 , 1.2 , 1 );
  25.                        
  26. }
  27. completion:^(BOOL finished) {
  28.                        
  29. [launchView removeFromSuperview];
  30.                        
  31. }];

This way you can easily get LaunchImage~

<<:  Who helped Apple come back to life 20 years ago? It was Microsoft!

>>:  iOS 9.2 beta arrives with new features that may focus on stylus

Recommend

Weibo Fantong & self-media traffic, how to make 1 million per month?

Preface | As everyone has experienced—— iPhones h...

Are they all cactus fruits? Why do dragon fruits come in so many colors?

Audit expert: Shen Tingting PhD in Botany Dragon ...

Increase followers, promotion, IP building, and Weibo operation skills!

Weibo is a social networking platform with great ...

Attention! Many people suffer from this habit that hurts their knees!

As a chosen worker, you Are you wondering: Sittin...

Why is Momo still thriving even after KuaiBo died?

Quick broadcast secrets and everyone have had prob...

Pinduoduo, the “Master of Fission”

Pinduoduo has always been a classic example of fi...

Brand Marketing: Analyzing the marketing failures of Durex and KFC!

If you are good at marketing, you will have a gre...

The past and present of the "Xiangyanghong 09" ship

An old ship with a service life of more than 40 y...

The future of virtual reality: multi-sensory interaction technology

Virtual reality provides us with a virtual world ...