美文网首页iOS程序猿iOS日常
首次打开app欢迎引导页

首次打开app欢迎引导页

作者: imbaWales | 来源:发表于2018-04-23 12:25 被阅读38次

    最近接到公司领导的要求, 要搭建一个公司移动应用开发技术平台, 我iOS这边除了要编写公司iOS开发规范文档, 接口规范文档, 应用上架流程等相关文档外, 还要提供一些封装好的框架、业务组件等等, 目的是以后公司开发app时候重复模块或功能或界面能够直接拿来导入使用, 减少编码量, 提高开发效率.
    之前由于项目进度比较紧张, 没有时间来自己封装这样一些东西, 虽然这些功能网上一搜一大堆, 但是自己封装的可控性会更高一些, 也是对编码能力的一种提炼和提升, 所以我想记录一下这个过程.
    从头弄起吧, 首先弄的是首次打开app的欢迎引导页, 这基本是每个app都需要的, 如下图:


    welcome.gif

    这是一个SHWelcomePageController, 里面提供以下属性及初始化方法:

    /// 可通过NSUserDefault取得这个key的bool值, 判断是否第一次启动app,
    /// 不等于YES时候表示是第一次启动, 否则不是第一次启动
    static NSString *SHWelcomeIsLaunchDefaultKey = @"isLaunch";
    
    @interface SHWelcomePageController : UIViewController
    
    /// 翻页小圆点, 可自行设置它的参数
    @property (nonatomic, weak)UIPageControl *pageControl;
    /// "立即体验"按钮, 可自行设置位置及样式参数, 默认是"立即体验"
    @property (nonatomic, weak)UIButton *showRootControllerBtn;
    
    
    /**
     初始化方法
    
     @param imageArr 图片名称的字符串数组
     @param rootVC 点击"立即体验"后跳转的控制器
     @return 欢迎页控制器
     */
    - (SHWelcomePageController *)initWithImageNameArray:(NSArray *)imageArr rootViewController:(UIViewController *)rootVC;
    

    使用方法:

    使用时候只需把demo里面的SHWelcomePageController这个文件夹拖到项目中, 然后在appDelegate里面判断是否首次启动app并初始化.

    SHWelcomePageController提供SHWelcomeIsLaunchDefaultKey这个东西, 它是userDefault里面的一个key, 当点击立即体验进入app首页后, SHWelcomePageController内部会自动修改这个key值, 使用者可以判断这个key值来知道是否首次启动app.

    SHWelcomePageController提供pageControl和showRootControllerBtn两个属性, 使用者可以自行设置小圆点和"立即体验"按钮的样式颜色和位置等等.

    具体使用代码如下图:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
        
        UIViewController *homeVC = [[UIViewController alloc] init];
        homeVC.view.backgroundColor = [UIColor redColor];
        
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        // 通过取SHWelcomeIsLaunchDefaultKey的值来判断是否首次启动app
        if ([defaults boolForKey:SHWelcomeIsLaunchDefaultKey] != YES) {
            // 是第一次启动
            NSArray *imgArr = @[@"welcome1", @"welcome2", @"welcome3"];
            SHWelcomePageController *welcomeVC = [[SHWelcomePageController alloc] initWithImageNameArray:imgArr rootViewController:homeVC];
            // 可自行设置小圆点的位置及属性, "立即体验"按钮的位置及属性
            // welcomeVC.pageControl.currentPageIndicatorTintColor = [UIColor redColor];
            // [welcomeVC.showRootControllerBtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
            self.window.rootViewController = welcomeVC;
        }else{
            // 不是第一次启动
            self.window.rootViewController = homeVC;
        }
        
        [self.window makeKeyAndVisible];
        return YES;
    }
    

    Demo下载地址:
    https://github.com/imbawales/SHWelcomePageController/tree/master

    老实说, 简书钱包有30块, 但是至少要100块才能提现, 所以求打赏啊~

    相关文章

      网友评论

        本文标题:首次打开app欢迎引导页

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