一、添加几个成员变量

@interface hDisplayView ()<UIScrollViewDelegate>
{
UIScrollView *_bigScrollView;
NSMutableArray *_imageArray;
UIPageControl *_pageControl;
}

二、添加构造方法

-(instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
_imageArray = [@[@"闪屏1.png",@"闪屏2.png", @"闪屏3.png",@"闪屏4.png"]mutableCopy]; // _imageArray = [NSMutableArray arrayWithObjects:@"闪屏1.png",@"闪屏2.png", @"闪屏3.png",@"闪屏4.png", nil]; UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(, , MainScreen_width, MainScreen_height)]; scrollView.contentSize = CGSizeMake((_imageArray.count + )*MainScreen_width, MainScreen_height);
//设置反野效果,不允许反弹,不显示水平滑动条,设置代理为自己
scrollView.pagingEnabled = YES;//设置分页
scrollView.bounces = NO;
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.delegate = self;
[self addSubview:scrollView];
_bigScrollView = scrollView; for (int i = ; i < _imageArray.count; i++) {
UIImageView *imageView = [[UIImageView alloc]init];
imageView.frame = CGRectMake(i * MainScreen_width, , MainScreen_width, MainScreen_height);
UIImage *image = [UIImage imageNamed:_imageArray[i]];
imageView.image = image; [scrollView addSubview:imageView];
} UIPageControl *pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(MainScreen_width/, MainScreen_height - , , )];
pageControl.numberOfPages = _imageArray.count;
pageControl.backgroundColor = [UIColor clearColor];
[self addSubview:pageControl]; _pageControl = pageControl; //添加手势
UITapGestureRecognizer *singleRecognizer;
singleRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleSingleTapFrom)];
singleRecognizer.numberOfTapsRequired = ;
[scrollView addGestureRecognizer:singleRecognizer]; } return self;
}

三、添加一个手势,在周到最后一页的时候,让整个view隐藏

-(void)handleSingleTapFrom
{
if (_pageControl.currentPage == ) { self.hidden = YES; }
}

四、添加一个scrollview的代理方法,让pagecontrol在scrollview的中间位置

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
if (scrollView == _bigScrollView) { CGPoint offSet = scrollView.contentOffset; _pageControl.currentPage = offSet.x/(self.bounds.size.width);//计算当前的页码
[scrollView setContentOffset:CGPointMake(self.bounds.size.width * (_pageControl.currentPage), scrollView.contentOffset.y) animated:YES]; } if (scrollView.contentOffset.x == (_imageArray.count) *MainScreen_width) { self.hidden = YES; } }

添加app第一次启动页面的更多相关文章

  1. 判断ios是app第一次启动

    首次运行的应用程序加入一些help 或者 宣传动画 现在变的很重要了. 一个有用的例子是发送一个分析实例.这可能是一个很好的方法来确定有多少人下载实用应用程序.有人会说:“但是,嘿,苹果AppStor ...

  2. Android启动页面的正确打开方式 (转载)

    最近由于领导要求写一个手机APP,于是自学开始,不经意间想到使用过的手机APP在打开的时候都是会有一个启动页面,这是如何实现的呢?比较好奇,于是在网上搜到了以下这篇文章,经过个人实验的确可行,不过原文 ...

  3. 构建基于WinRT的WP8.1 App 01:页面导航及页面缓存模式

    本篇博文主要阐述基于Windows Runtime的Windows Phone 应用页面间导航相关知识,主要分为以下几个方面: Window.Frame和Page概览 页面间实现跳转 处理物理后退键 ...

  4. cordova启动页面和图标的设置

    一.config.xml配置 在cordova5.0版本以后,需要安装cordova-plugin-splashscreen插件以后才能修改和设置App的启动页面. 安装splashscreen插件: ...

  5. 添加App启动页面

    记录下自己在设置app启动页面时遇到的问题. 先写下自己完整的步骤吧. iPhone Portrait iOS 8-Retina HD 5.5 (1242×2208) @3xiPhone Portra ...

  6. 判断app是否是第一次启动

    如何判断app是否是第一启动呢,第一次启动的时候,加载引导页面等, 一下是我的解决方案: 1.在"AppDelegate.h"中找到- (BOOL)application:(UIA ...

  7. 在APP开发设计过程中:如何设计启动页面?

    心理学上有一个“7秒理论”,说的是,一个人对另一个人的印象,在初次见面的七秒内就会形成,最近更有研究表明,这个时间可能更短——不到1秒.所以初次见面所展示的形象真的很重要.同理,用户在使用APP时,每 ...

  8. 为什么很多APP要有启动页面

    我们启动APP时,一般都会是一张含有LOGO的图片.这张图片叫做启动页面. 这个启动页面是必须.一定需要的吗?有什么作用?   这是苹果官方对于iOS启动页的设计说明:   为了增强应用程序启动时的用 ...

  9. react native 第一次下载app的欢迎页+每次启动app的启动页设计

    欢迎各位同学加入: React-Native群:397885169 大前端群:544587175 大神超多,热情无私帮助解决各种问题. 我想我写的这篇博文可以帮助到很多人,接下来要分享的东西,对app ...

随机推荐

  1. ph 的使用步骤

    Arcanist用户指南Windows Updated 44 Day(s) Ago所有用户 https://phabricator.webfuns.net/book/phabricator/artic ...

  2. 【转】java图形界面设计(AWT)

    [转自]http://blog.sina.com.cn/s/blog_616e189f0100ne1t.html 1.       基本的java Frame操作. Java的图形界面的类主要包括AW ...

  3. 《CCNA(640-802)全套课程讲义》笔记

    路由器: CLI(命令行界面)形式相对应的是GUI  (图形用户界面) DTE:数据终端设备,指的是位于用户网络接口的用户端设备,通常情况下,路由器端为DTE端. DCE:数据通讯设备,为通信提供时钟 ...

  4. VBA学习笔记(2)--新建word文档并插入文字

    说明(2017.3.20): 1. Dim As声明变量类型,Set赋值/初始化 2. With使后面的省略对象,直接点就行,后面要End With 3. Application.StatusBar ...

  5. json关键总结

    先引用 Newtonsoft.Json.Net20.dll //序列化对象的方法也非常的简单: string json = JsonConvert.SerializeObject(product); ...

  6. ExtJs TreePanel 全选与反选

    selectAll: function() { this.getRootNode().eachChild(function (child) { child.set('checked', true); ...

  7. [Django学习]分页

    分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据, ...

  8. [转]wait,notify,notifyAll,join,yield,sleep的区别和联系

    1.  Thread.sleep(long) 和Thread.yield()都是Thread类的静态方法,在调用的时候都是Thread.sleep(long)/Thread.yield()的方式进行调 ...

  9. Entity Framework应用:Code First的实体继承模式

    Entity Framework的Code First模式有三种实体继承模式 1.Table per Type (TPT)继承 2.Table per Class Hierarchy(TPH)继承 3 ...

  10. 受打击了:你是学.net 的吧?

    我在网上投了简历,今天去面试, 去到才知道有面试题做,做完之后自知答的很烂. 没想到面试我的那个人,一开始就很直接,说: 我感觉你很喜欢用英语, 但英语很烂 我觉得你很喜欢用别人的东西, 但技术水平很 ...