iOS 一个方法首次安装滚播图 展示应用简介
//第一次安装时会有引导页展示 非第一次直接进入应用页
if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"isOne"] isEqual:@"isOne"]) {
[self showViewController];
}else{
RootViewController *root= [[RootViewController alloc] init];
self.window.rootViewController = root;
[self isFirstInstall];
}
//直接在AppDelegate 类中写该方法
-(void)isFirstInstall{
//引导页
UIScrollView *sc = [[UIScrollView alloc]initWithFrame:self.window.bounds];
sc.pagingEnabled = YES;
sc.delegate = self;
sc.showsHorizontalScrollIndicator = NO;
sc.showsVerticalScrollIndicator = NO;
[self.window.rootViewController.view addSubview:sc];
NSArray *arr = @[@"引导页1.jpg",@"引导页2.jpg",@"引导页3.jpg"];
for (NSInteger i = 0; i<arr.count; i++)
{
UIImageView *img = [[UIImageView alloc]initWithFrame:CGRectMake(SCREEN_WIDTH*i, 0, SCREEN_WIDTH, self.window.frame.size.height)];
img.image = [UIImage imageNamed:arr[i]];
[sc addSubview:img];
img.userInteractionEnabled = YES;
if (i == arr.count - 1)
{
//根据自己项目中的需求进行设置末页体验按钮
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake((self.window.frame.size.width/2)-100, SCREEN_HEIGHT-110, 200, 50);
// btn.backgroundColor = [UIColor greenColor];
// [btn setTitle:@"开始体验" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(goRoot) forControlEvents:UIControlEventTouchUpInside];
[img addSubview:btn];
[btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
// btn.layer.borderWidth = 1;
// btn.layer.borderColor = [UIColor greenColor].CGColor;
}
}
sc.contentSize = CGSizeMake(SCREEN_WIDTH*arr.count, self.window.frame.size.height);
}
//立即体验的执行方法
- (void)goRoot{
NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
[user setObject:@"isOne" forKey:@"isOne"];
[user synchronize];
//在这里设置项目中的根控制器
self.window.rootviewController = viewcontroller ;
}
//项目中scrollview的代理方法设置引导页
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//SCREEN_WIDTH *4 这里4是引导页的张数,x的偏移量大于4个屏幕多30,也可以进入应用,类似立即体验中的功能方法。根据自己项目中的需求进行添加
if (scrollView.contentOffset.x>SCREEN_WIDTH *4+30)
{
[self goRoot];
}
}
//就是这么easy,引导图设置完毕,共勉
iOS 一个方法首次安装滚播图 展示应用简介的更多相关文章
- 用原生的javascript 实现一个无限滚动的轮播图
说一下思路:和我上一篇博客中用JQ去写的轮播图有相同点和不同点 相同点: 首先页面布局是一样的 同样是改变.inner盒子的位置去显示不同的图片 不同点: 为了实现无限滚动需要多添加两张重复的图片 左 ...
- iOS swift版本无限滚动轮播图
之前写过oc版本的无限滚动轮播图,现在来一个swift版本全部使用snapKit布局,数字还是pageConrrol样式可选 enum typeStyle: Int { case pageContro ...
- jquery一个比较好的轮播图jQuery.kinMaxShow介绍
kinMaxShow API 可选参数以及详解 kinMaxShow 主参数详解 参数名称 默认值 简单释义 height 500 [整型 (单位:像素)]焦点图高度,必须设置 缺省则启用默认高度 5 ...
- vue 写一个炫酷的轮播图
效果如上图: 原理: 1.利用css 的 transform 和一些其他的属性,先选五张将图片位置拍列好,剩余的隐藏 2.利用 js 动态切换类名,达到切换效果 css代码如下 .swiper-cer ...
- iOS回顾笔记(05) -- 手把手教你封装一个广告轮播图框架
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- 自定义完美的ViewPager 真正无限循环的轮播图
网上80%的思路关于Android轮播图无限循环都是不正确的,不是真正意义上的无限循环, 其思路大多是将ViewPager的getCount方法返回值设置为Integer.MAX_VALUE, 然后呢 ...
- Swift-ScrollView轮播图的简易封装和使用
不多说,轮播图是开发中必要一项技能,直接上代码: 先说我的思路:首次继承于UIScrollView类自定义MyScrollView,在MyScrollView里自定制方法,func creatMySc ...
- 商城05——首页轮播图显示实现&Redis环境搭建&Redis实现缓存
1. 课程计划 1.首页轮播图的展示 2.首页大广告展示流程图 3.Redis的常用命令 4.Redis的服务器搭建 (集群的搭建) 5.向业务逻辑中添加缓存 6.Jedis的使用(redis的客 ...
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...
随机推荐
- 响应式布局中的CSS相对量
一个响应式布局,要能够根据设备屏幕尺寸的改变,动态的调整页面内容,展现不同的设计风格. 在进行响应式的 CSS 代码编写过程中,经常会用到一些相对尺寸,以达到相对定位的目的.例如,常见的响应式布局中需 ...
- BZOJ 1085: [SCOI2005]骑士精神(A*算法)
第一次写A*算法(这就是A*?如果这就是A*的话,那不就只是搜索的一个优化了= =,不过h函数如果弄难一点真的有些难设计) 其实就是判断t+h(x)(t为当前步数,h(x)为达到当前状态的最小步数) ...
- groovy hello world
安装方法见官方文档http://groovy.codehaus.org/Installing+Groovy 用新一个文件HelloWorld.groovy,以utf8的编码保存,内容为: printl ...
- PostgreSQL指南
PostgreSQL指南 历史简介 最近几年Postgres的关注度变得越来越高. 它加快了Postgres的发展步伐, 与此同时其他 的关系数据库系统的发展放缓. 在数据库领域中 Postgre S ...
- 第三方库AFNetworking 3.1.0的简单使用
AFNetworking是一个 在iOS开发中 使用非常多网络开源库.它是一个轻量级的网络请求API类库. 适用于iOS以及Mac OS X.它构建于在(Apple iOS开发文档) NSURLCon ...
- collectionView布局
关于 collectionView的layout布局方法: 设置cell的间距,行间距,组与组之间的间距,都是在layout里面来设置. 包括,滚动方向. -(void)prepareLayout [ ...
- Kafka Eagle 源码解读
1.概述 在<Kafka 消息监控 - Kafka Eagle>一文中,简单的介绍了 Kafka Eagle这款监控工具的作用,截图预览,以及使用详情.今天笔者通过其源码来解读实现细节.目 ...
- shell [ff: 未找到命令
在学习shell脚本时遇到一个问题: [ff: 未找到命令 相信很多初学者都会遇到,再次说明一下,希望对大家有所帮助: shell脚本代码如下: #!/bin/bash echo -n " ...
- [.net 面向对象程序设计深入](14)Redis——基础
[.net 面向对象程序设计深入](14)Redis——基础 很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章. 因这个系列的文章涉及的范围太大了 ...
- BMP图片格式模型(2)
因为公司的主要业务是图像识别相关的,因此对图像处理.识别是我学习的重点.虽然写程序也不少年了,但是对于图像处理领域,我还是一个新兵.对很多基础的概念也还是存在盲区,所以想在边学边做的过程中,对一些概念 ...