iOS 7 launch image (splash screen) fades out

前端 未结 7 649
别那么骄傲
别那么骄傲 2020-12-15 15:48

On iOS 7, launch images fade out instead of disappearing immediately when the app is loaded.

Is there any setting to prevent this launch image fade out animation?

7条回答
  •  既然无缘
    2020-12-15 16:09

    I have managed to do that in the AppController. Just place this code right after the creation of the glView

        UIImage* image = [UIImage imageNamed:[self getLaunchImageName]];
    if ([[UIScreen mainScreen] respondsToSelector: @selector(scale)])
    {
        float screenScale = [[UIScreen mainScreen] scale];
        if (screenScale > 1.)
            image = [UIImage imageWithCGImage:image.CGImage scale:screenScale orientation:image.imageOrientation];
    }
    UIImageView *splashView = [[UIImageView alloc] initWithImage:image];
    [viewController.view addSubview:splashView];
    [splashView performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:0.1f];
    

    It is easy. Just get the launch image and make it disappear after a delay. You will need the getLaunchImage code (based on this comment, not tested with iPhone 6 nor 6 plus)

        -(NSString*)getLaunchImageName
    {
    
        NSArray* images= @[@"LaunchImage.png",
                           @"LaunchImage@2x.png",
                           @"LaunchImage-700@2x.png",
                           @"LaunchImage-568h@2x.png",
                           @"LaunchImage-700-568h@2x.png",
                           @"LaunchImage-700-Portrait@2x~ipad.png",
                           @"LaunchImage-Portrait@2x~ipad.png",
                           @"LaunchImage-700-Portrait~ipad.png",
                           @"LaunchImage-Portrait~ipad.png",
                           @"LaunchImage-Landscape@2x~ipad.png",
                           @"LaunchImage-700-Landscape@2x~ipad.png",
                           @"LaunchImage-Landscape~ipad.png",
                           @"LaunchImage-700-Landscape~ipad.png",
                           @"LaunchImage-800-667h@2x.png",
                           @"LaunchImage-800-Portrait-736h@3x.png",
                           @"LaunchImage-800-Landscape-736h@3x.png",
                           ];
    
        UIImage *splashImage;
    
        if ([self isDeviceiPhone])
        {
            if ([self isDeviceiPhone4] && [self isDeviceRetina])
            {
                splashImage = [UIImage imageNamed:images[1]];
                if (splashImage.size.width!=0)
                    return images[1];
                else
                    return images[2];
            }
            else if ([self isDeviceiPhone5])
            {
                splashImage = [UIImage imageNamed:images[1]];
                if (splashImage.size.width!=0)
                    return images[3];
                else
                    return images[4];
            }
            else if ([self isDeviceiPhone6])
            {
                splashImage = [UIImage imageNamed:images[1]];
                if (splashImage.size.width!=0)
                    return images[13];
                else
                    return images[14];
            }
            else
                return images[0]; //Non-retina iPhone
        }
        else if ([[UIDevice currentDevice] orientation]==UIDeviceOrientationPortrait || [[UIDevice currentDevice] orientation] == UIDeviceOrientationPortraitUpsideDown)//iPad Portrait
        {
            if ([self isDeviceRetina])
            {
                splashImage = [UIImage imageNamed:images[5]];
                if (splashImage.size.width!=0)
                    return images[5];
                else
                    return images[6];
            }
            else
            {
                splashImage = [UIImage imageNamed:images[7]];
                if (splashImage.size.width!=0)
                    return images[7];
                else
                    return images[8];
            }
    
        }
        else
        {
            if ([self isDeviceRetina])
            {
                splashImage = [UIImage imageNamed:images[9]];
                if (splashImage.size.width!=0)
                    return images[9];
                else
                    return images[10];
            }
            else
            {
                splashImage = [UIImage imageNamed:images[11]];
                if (splashImage.size.width!=0)
                    return images[11];
                else
                    return images[12];
            }
        }
    }
    
    -(BOOL)isDeviceiPhone
    {
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
        {
            return TRUE;
        }
    
        return FALSE;
    }
    
    -(BOOL)isDeviceiPhone4
    {
        if ([[UIScreen mainScreen] bounds].size.height==480)
            return TRUE;
    
        return FALSE;
    }
    
    
    -(BOOL)isDeviceRetina
    {
        if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
            ([UIScreen mainScreen].scale == 2.0))        // Retina display
        {
            return TRUE;
        }
        else                                          // non-Retina display
        {
            return FALSE;
        }
    }
    
    
    -(BOOL)isDeviceiPhone5
    {
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone && [[UIScreen mainScreen] bounds].size.height==568)
        {
            return TRUE;
        }
        return FALSE;
    }
    
    -(BOOL)isDeviceiPhone6
    {
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone && [[UIScreen mainScreen] bounds].size.height>568)
        {
            return TRUE;
        }
        return FALSE;
    }
    

提交回复
热议问题