iOS 应用首次开启 出现引导页面
关于引导页面 ,可以是独立的一个视图控制器控制的滚动视图。
重点是处理 如何判断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
iOS 应用首次开启 出现引导页面相关推荐
- java中引导页面的,Android实现欢迎引导页面
现在的大多数应用都会有一个欢迎引导页面, 需求分析: 程序安装后第一次启动: 启动页-->功能引导页-->应用主页 以后启动: 启动页-->应用主页 实现原理: 用SharedPre ...
- IOS9.0-Swift 引导页面实现
IOS9.0-Swift 引导页面实现 学习不久ios开发,也想写点东西,第一次写这东西,不妥之处还请大家指正,我会及时修改. 平台:xcode7.1 x 语言:swift2.1 实现目标:完成一个a ...
- 微信小程序开发之开发引导页面
一.开发思路 做过app开发的都知道引导页面需要使用本地存储.第一次用户安装的用户点击进入首页的时候会进行一个数据的存储,那么微信小程序思路是一样的,你可以设置一个启动页每次小程序打开的时候都会去加载 ...
- (转)android UI进阶之用ViewPager实现欢迎引导页面
ViewPager需要android-support-v4.jar这个包的支持,来自google提供的一个附加包.大家搜下即可. ViewPager主要用来组织一组数据,并且通过左右滑动的方式来展示. ...
- h5 解决ios端输入框失去焦点后页面不回弹或者底部留白问题
h5 解决ios端输入框失去焦点后页面不回弹或者底部留白问题 参考文章: (1)h5 解决ios端输入框失去焦点后页面不回弹或者底部留白问题 (2)https://www.cnblogs.com/bl ...
- IOS开发简易的网易新闻页面
IOS开发简易的网易新闻页面 这是简易的网易新闻,使用swift语法去写的 git 仓库地址: https://e.coding.net/lujun1/wangyijianyixinwenswiftb ...
- 从0开始架构一个IOS程序—— 05— NavigationBar 搭建首页面
从0开始架构一个IOS程序 05 NavigationBar搭建首页面 Mac OSX 10.11 之后 效果 在这里的实现思路 创建 navigationItem titleView 添加ViewC ...
- 干货 · UI设计|APP引导页面可临摹素材
当用户安装完成App后,第一次打开应用,App会呈现三到四张连续的页面,这些页面会提前告知你产品的主要功能与特点,起到类似迎宾引导的作用,这些页面我们叫做引导页. 引导页是用户进入主界面之前,首先见到 ...
- 解决ios下的微信打开的页面背景音乐无法自动播放(转载)
20160314更新 后面的项目发现,还有两个坑,需要注意下: ·本文的解决方案的核心是利用了 微信/易信 在ready的时候会有个 WeixinJSBridgeReady/YixinJSBridge ...
最新文章
- 有关cmd.Parameters.Clear()
- 共享可写节包含重定位_PE结构学习01-DOS头-NT头-节表头
- Chrome OS与平板电脑才是珠联璧合
- matlab中 intval函数,经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval...
- OpenCV之imgproc 模块. 图像处理(5)在图像中寻找轮廓 计算物体的凸包 创建包围轮廓的矩形和圆形边界框 为轮廓创建可倾斜的边界框和椭圆 轮廓矩 多边形测试
- 区块链世界中的IOTA:它是什么样的存在?
- ​NVIDIA针对数据不充分数据集进行生成改进,大幅提高CIFAR-10数据生成
- SQL注入(SQL注入(SQLi)攻击)攻击-联合注入
- 文件夹修改名字 matlab,matlab用 movefile更改文件夹内文件名字
- Oralce EBS Alert
- tomcat自动重启
- 广东女子职业技术学院计算机应用技术,广东女子学院虚拟校园系统的构建与技术实现...
- 大数据分析案例:电力窃漏电用户自动识别
- 戴着镣铐与狼共舞!深度解读新势力造车迷局
- NAS信令学习笔记 ——GUTI reallocation过程
- UnityShader 简单护盾效果
- 一个人瘦到什么程度身材才算好?其实身材好与体重关系不大
- PinkRabbit写情书(map函数)
- ROS同时订阅多个话题 Python
- C语言希尔排序及其增量序列
热门文章
- 455 periodic strings
- 吴恩达深度学习神经网络基础编程作业Python Basics with Numpy
- 分享一个不错的Windows软件——Fliqlo
- 用python快速将excel(含多sheet)导入MySQL(兼容中文)
- js将时间转换为时间戳
- 2种方式解决vue路由跳转未匹配相应路由避免出现空白页面或者指定404页面
- 吴恩达机器学习 逻辑回归 作业3(手写数字分类) Python实现 代码详细解释
- linux脚本程序是什么意思,什么是shell脚本编程?
- python采集直播间数据_Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例...
- Web API 开发入门--基于Visual Studio