码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 设置LaunchImage动画

时间:2015-10-30 15:26:43      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

LaunchImage在APP初始化完之后会立即消失并显示APP的界面,但是有的时候我们不希望它这么快就消失(比如有的人希望有个过渡效果 有的人希望等某些设置或者数据加载完之后再消失),这也很简单,我们只要自己把LaunchImage再显示出来并且置顶就OK了。

不过我们配置了那么多适用于不同屏幕分辨率的LaunchImage 如何获取适合于当前屏幕分辨率的LaunchImage呢?

普通的办法是 把所有LaunchImage加入到工程并根据屏幕分辨率来命名 比如(640_960.png 640_1136.png …) 然后在程序中用代码拼接出对应的文件名 并引用

但是这种办法比较原始 而且万一以后苹果又出了一些其他分辨率的设备 或者启动图发生变化的时候 又需要人工的修改工程配置 不太好 而且还需要多占一份资源(APP的容量又变大啦)

而stackflow上的Cherpak Evgeny分享了一个更好的办法 直接读取NSBundle中的设置 即可获取当前适用的LaunchImage

我以上面的图为例写了个演示代码:

 

    CGSize viewSize = self.window.bounds.size;

    NSString *viewOrientation = @"Portrait";    //横屏请设置成 @"Landscape"

    NSString *launchImage = nil;

    NSArray* imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];

    for (NSDictionary* dict in imagesDict)

    {

        CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]);

        

        if (CGSizeEqualToSize(imageSize, viewSize) && [viewOrientation isEqualToString:dict[@"UILaunchImageOrientation"]])

        {

            launchImage = dict[@"UILaunchImageName"];

        }

    }

    UIImageView *launchView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"launchimage"]];

    launchView.frame = self.window.bounds;

    launchView.contentMode = UIViewContentModeScaleAspectFill;

    [self.window addSubview:launchView];

    [UIView animateWithDuration:1.0f

                          delay:0.5f

                        options:UIViewAnimationOptionBeginFromCurrentState

                     animations:^{

                         

                         launchView.alpha = 0.0f;

                         launchView.layer.transform = CATransform3DScale(CATransform3DIdentity, 1.2, 1.2, 1);

                         

                     }

                     completion:^(BOOL finished) {

                         

                         [launchView removeFromSuperview];

                         

                     }];

 

iOS 设置LaunchImage动画

标签:

原文地址:http://www.cnblogs.com/tongyuling/p/4923352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!