博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 应用首次开启 出现引导页面
阅读量:5981 次
发布时间:2019-06-20

本文共 2371 字,大约阅读时间需要 7 分钟。

关于引导页面 ,可以是独立的一个视图控制器控制的滚动视图。

重点是处理 如何判断app是首次开启 而调用这个视图控制器得方法。

逻辑如下:

-(BOOL)isFirstLoad{    if(!标记第一次开启得文件存在)//不存在    {        //创建这个标记文件;                return YES;    }    else    {        return NO;    }}

实现写了一个类方法如下

+ (BOOL) isFirstLaunchForSwipeView {    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);    NSString *documentsDirectory = [paths objectAtIndex:0];    if (!documentsDirectory) {        return NO;    }    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"firstlaunch.plist"];    // 文件目录存在检查    if(![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {        NSError *error;        BOOL result = [[NSFileManager defaultManager] createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:&error];        if (!result) {            return NO;        }    }    else {        return NO;    }    return YES;} //调用得时候我是这么操作的。
if ([类方法名 isFirstLaunchForSwipeView] ){
//创建引导图的方法 self.swipePageCtl =[[POPSwipePageController alloc] init]; [self.window addSubview:self.swipePageCtl.view];}
 

网上有好多,但是自己的就很好了。

下边备注一个网上的方法和链接  备注:谷歌很强大

http://iphonedevsdk.com/forum/iphone-sdk-development/102179-check-first-use.html

在didFinishLaunchingWithOptions方法中加入如下代码:if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]){        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];        NSLog(@"第一次启动");    }else{        NSLog(@"已经不是第一次启动了");    }现在的APP中流行在程序第一次启动时显示一些新手引导页面,下面的代码可用于判断此APP是否第一次启动,或升级后的第一次启动。#define LAST_RUN_VERSION_KEY        @"last_run_version_of_application"- (BOOL) isFirstLoad{     NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary]         objectForKey:@"CFBundleShortVersionString"];        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];    NSString *lastRunVersion = [defaults objectForKey:LAST_RUN_VERSION_KEY];    if (!lastRunVersion) {         [defaults setObject:currentVersion forKey:LAST_RUN_VERSION_KEY];         return YES;        // App is being run for first time    }    else if (![lastRunVersion isEqualToString:currentVersion]) {        [defaults setObject:currentVersion forKey:LAST_RUN_VERSION_KEY];        return YES;        // App has been updated since last run    }    return NO;}

 

 

 

转载于:https://www.cnblogs.com/someonelikeyou/p/3711261.html

你可能感兴趣的文章
一篇文章能够看懂基础源代码之JAVA篇
查看>>
Goldengate双向复制配置
查看>>
Oracle官方内部MAA教程
查看>>
DNS相关配置
查看>>
miniWindbg 功能
查看>>
CF772E Verifying Kingdom
查看>>
测试驱动开发
查看>>
轻松实现远程批量拷贝文件脚本(女学生作品)
查看>>
【沟通之道】头脑风暴-女人的心思你别猜
查看>>
Windows Phone 8 开发资源汇总
查看>>
Git:配置
查看>>
神经系统知识普及
查看>>
Spring可扩展Schema标签
查看>>
c++ STL unique , unique_copy函数
查看>>
http://miicaa.yopwork.com/help/overall/
查看>>
浅谈关于特征选择算法与Relief的实现
查看>>
mybatis-spring 项目简介
查看>>
Wireshark抓取RTP包,还原语音
查看>>
Behavioral模式之Memento模式
查看>>
Work Management Service application in SharePoint 2016
查看>>