美文网首页
LaunchScreen与LaunchImage

LaunchScreen与LaunchImage

作者: 墨笑白 | 来源:发表于2016-01-05 18:37 被阅读4402次

    如果你想要在Assets.xcassets中使用LaunchImage来设置启动图的话,你要做2件事:
    1.根据不同屏幕尺寸的需求设置不同的图片,图片的需求尺寸可以参照下图:


    2.取消系统默认使用的LaunchScreen,首先你要取消Use as Launch Screen 的选中


    然后你需要把Launch Screen File 设置成

    在配置好以上之后启动页的图片就会使用LaunchImage中的图片了

    当然,有时候我们需要获得LaunchImage,该怎么办呢?

    CGSize viewSize = self.window.bounds.size;
    NSString *viewOrietation = @"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) && [viewOrietation isEqualToString:dict[@"UILaunchImageOrientation"]])    { 
           launchImage = dict[@"UILaunchImageName"];    
        }}
    

    这里的launchImage就是你要获取的启动图片的名字,需要注意的是,如果你不是用LaunchImage来做启动图片的话,在 [NSBundle mainBundle] infoDictionary] 中是无法找到@"UILaunchImages" 这个key的。

    如果你想要动态修改启动页面图LaunchImage,抱歉!根据苹果的用户交互指引,该页面是在程序加载时显示的,不建议动态修改.
    正确的做法一般都是用固定的图片做启动页面图,在启动页面结束之后做任何你想做的事.

    如果真想动态修改启动页面,启动页面是固定的名字,可以在程序执行之后强制把页面替换掉,不过这样APP可能会被拒.

    该怎么设置一个动态的启动图呢?在启动图结束的时候,用一个View来展示你的动图,记得placeHolder设置为和你的LaunchImage的图片一样就行,这样就可以做出类似的效果了

    相关文章

      网友评论

          本文标题:LaunchScreen与LaunchImage

          本文链接:https://www.haomeiwen.com/subject/ivszhttx.html