iOS 知识收集

iOS中关于启动引导图的适配

2019-10-16  本文已影响0人  a_只羊

注意点

开发启动引导图的时候,有三个地方需要注意:

1.引导图的添加时机
2.引导图的资源文件配置(适配关键
3.引导图的显示层级

引导图的添加时机

新手引导图再APP启动完成之后,会显示在开屏页面展示应用介绍相关信息,通常为一个scrollView中嵌套介绍的资源图片内容为应用引导内容。所以作为启动的时候的介绍,通常需要一个Window来进行内容的展示,所以此时新建一个window专门用来展示页面的新手引导,后续的应用页面的创建可以放到新手引导完成之后来进行。

引导图的资源文件配置(适配关键)

由于iPhone机型现在已经变得越来越多了,单纯的靠自己去判定机型然后去加载对应图片资源变得不现实了,所以为了让屏幕适配达到最大的简化,可以通过修改资源文件的json配置文件进行不同屏幕屏幕尺寸的添加,进而让系统帮助我们去查找对应的资源文件内容。

image.png

这里是对应的尺寸,为了创建对应的资源文件,我们需要注意,默认XCode只创建了三倍图的样式,并没有多个尺寸的内容的填充资源文件图。但是在LaunchImage中却有着各个机型的全面屏幕适配尺寸尺码,这里我们可以创建几个LaunchImage文件,然后在文件夹中将其改名为普通的.imageset资源文件名字的文件,这样就能够将多手机的尺寸尺码放进普通的三倍图文件尺码中了(实质是修改资源文件中的json资源文件内容),如下:

image.png image.png

添加完成正常尺寸的欢迎图片之后,我们就能通过普通的图片加载的形式加载图片了。

引导图的显示层级

引导图是在APP启动的时候,作为开屏引导使用,所以在进入APP之前,这个页面会一直存在卡在进入时机页面。所以此时引导的时候,尽量避开页面的弹窗(例如权限请求、首页弹窗或者内容提醒等),所以基于此,在原有页面层级不变的情况下显示引导内容,同时让其不受展示引导内容的干扰,此时建议通过创建新的window进行展示引导页面来达到内容的展示效果。

    UIWindow *window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
    window.backgroundColor = [UIColor whiteColor];
    UIViewController *rootVC = [UIViewController new];
    self.window = window;
    self.window.rootViewController = rootVC;
    window.rootViewController.view.alpha = 0;

    GCGuideView *guideView = [[GCGuideView alloc] initWithFrame:[UIScreen mainScreen].bounds];
    [guideView setJoinMyChuBlock:^{
        [selfWeak loadGCView:launchOption];
    }];

    [self.window addSubview:guideView];
    [self.window makeKeyAndVisible];
上一篇下一篇

猜你喜欢

热点阅读