IOS 欢迎页(UIScrollView,UIPageControl)
本文介绍了app欢迎页的简单实现。只有第一次运行程序时才说会出现,其余时间不会出现。下面是效果图。
代码如下:(如有不明白的可以评论我,我会详细讲解)
//
// ViewController.m
// CX IOS欢迎页
//
// Created by ma c on 16/3/18.
// Copyright © 2016年 xubaoaichiyu. All rights reserved.
// #import "ViewController.h" @interface ViewController ()<UIScrollViewDelegate> @property (nonatomic, strong) UIScrollView * scrollView;
@property (nonatomic, strong) UIPageControl * pageControl; @end @implementation ViewController
#pragma mark - life
- (void)viewDidLoad {
[super viewDidLoad];
//判断是否是第一次运行程序
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
// [userDefaults removeObjectForKey:@"FirstLoad"];
if ([userDefaults objectForKey:@"FirstLoad"] == nil) {
[userDefaults setBool:NO forKey:@"FirstLoad"];
[self loadScrollView];
} }
#pragma mark - deleDate -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ CGPoint point = self.scrollView.contentOffset; NSInteger current = point.x / self.view.frame.size.width; self.pageControl.currentPage = current; } #pragma mark - function
-(void)loadScrollView{ CGRect rect = [UIScreen mainScreen].bounds; self.scrollView = [[UIScrollView alloc]initWithFrame:rect];
//分页
self.scrollView.pagingEnabled = YES; self.scrollView.delegate = self; self.scrollView.showsHorizontalScrollIndicator = NO; self.scrollView.showsVerticalScrollIndicator = NO;
//scrollView滚动区域大小
self.scrollView.contentSize = CGSizeMake(rect.size.width * , rect.size.height); for (NSInteger i = ; i < ; i ++) { UIImageView * imageView = [[UIImageView alloc]init]; imageView.frame = CGRectMake(i * rect.size.width, , rect.size.width, rect.size.height);
//为了区别imageView而又简单操作,建立随机颜色。
imageView.backgroundColor = [UIColor colorWithRed:arc4random() % / .f green:arc4random() % / .f blue:arc4random() % / .f alpha:];
[self.scrollView addSubview:imageView]; //添加开启软件
UIButton * removeBUtton = [UIButton buttonWithType:UIButtonTypeCustom]; removeBUtton.frame = CGRectMake( + * rect.size.width, rect.size.height * 0.7, rect.size.width - , ); [removeBUtton setTitle:@"开启旅行" forState:UIControlStateNormal]; [removeBUtton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; removeBUtton.backgroundColor = [UIColor orangeColor]; [removeBUtton addTarget:self action:@selector(start) forControlEvents:UIControlEventTouchUpInside]; [self.scrollView addSubview:removeBUtton];
} [self.view addSubview:self.scrollView]; [self loadPageControl]; } -(void)start{ [self.pageControl removeFromSuperview]; [self.scrollView removeFromSuperview]; }
-(void)loadPageControl{ CGRect rect = [UIScreen mainScreen].bounds; self.pageControl = [[UIPageControl alloc]init]; self.pageControl.numberOfPages = ; CGSize pageControlSize = [self.pageControl sizeForNumberOfPages:]; self.pageControl.frame = CGRectMake((rect.size.width - pageControlSize.width) / , rect.size.height * 0.8, pageControlSize.width, pageControlSize.height); self.pageControl.currentPage = ; self.pageControl.currentPageIndicatorTintColor = [UIColor greenColor]; self.pageControl.pageIndicatorTintColor = [UIColor grayColor]; [self.view addSubview:self.pageControl]; [self.view bringSubviewToFront: self.pageControl]; }
@end
IOS 欢迎页(UIScrollView,UIPageControl)的更多相关文章
- IOS初级:UIScrollView & UIPageControl
UIScrollView其实构建的就像一列很长的火车,每滑动一个屏幕,展示一节车厢. //主屏幕高度 #define kScreenHeight [UIScreen mainScreen].bound ...
- 【iOS系列】-UIScrollView的介绍及结合UIPageControl实现图片播放的实例
[iOS系列]-UIScrollView的介绍及结合UIPageControl实现图片播放的实例 第一:UIScrollView的常用属性 //表示UIScrollView内容的尺寸,滚动范围 @pr ...
- UIScrollView,UIPageControl
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIScrollViewDelegate&g ...
- iOS纯代码制作欢迎界面——UIScrollView, UIPageControl, UIImageView,UIButton, NSTimer
欢迎界面,还是比较简单的,一个UIScrollView控件,一个UIPageControl,几个UIImageView即可摆平.在这里光玩这些,就显得诚意不足了.特意拓展一下,再加几个UIButton ...
- IOS 怎么用UIScrollView来滚动和缩放他的内容第一篇
本篇文章来自于互联网资料翻译 UIScrollView是在IOS最有用的控件之一.他是一个来展现超过一个屏幕的内容的很好的方式.下面有很多的技巧来使用他. 这篇文章就是关于UIScrollView的, ...
- iOS新手引导页的实现,源码。
/*.在Main.storyboard中找到,ScrollView和PageControl并添加到ViewController中. .在ScrollView中添加ImageView,新手引导页有几个图 ...
- UIScrollView,UIPageControl,UIImageView 实现图片轮播的效果
上一篇博客介绍了如何将XCode创立的项目提交到Git版本控制,这次就直接做一个图片轮播的展示demo,刚好可以把UIScrollView.UIPageControl.UIImageView这三个控件 ...
- 启动图实现:UIScrollView+UIPageControl简单实现
#import "MJViewController.h"#import "RootViewController.h" @interface MJViewCont ...
- iOS学习之UIScrollView
一.UIScrollView的创建和常用属性 1.UIScrollView概述 UIScrollView是UIView的子类. UIScrollView作为所有滚动视图的基类. UIScro ...
随机推荐
- IOS雕虫小技
1,你所不知道的Mac截图的强大 2,抓包工具WireShark开发必备,需要装X11插件 3,Mac远程控制Windows桌面-CoRD.或者TeamViewer 4,Mac下解压缩BetterZi ...
- Google Kubernetes设计文档之服务篇-转
摘要:Kubernetes是Google开源的容器集群管理系统,构建于Docker之上,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等功能. Pod是创建.调度和管理的最小部署单位,本文详 ...
- JS手动触发事件,转载
1. createEvent(eventType)参数:eventType 共5种类型: Events :包括所有的事件. HTMLEvents:包括 'abort', 'b ...
- C++中的静态绑定和动态绑定
C++在面向对象编程中,存在着静态绑定和动态绑定的定义,本节即是主要讲述这两点区分.我是在一个类的继承体系中分析的,因此下面所说的对象一般就是指一个类的实例.首先我们需要明确几个名词定义: 静态类型: ...
- BZOJ1015 并查集
1015: [JSOI2008]星球大战star war Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了 ...
- SpringMVC基础——一个简单的例子
一.导入 jar 包 二.配置 web.xml 文件 <servlet> <servlet-name>dispatcherServlet</servlet-name> ...
- struts.custom.i18n.resources国际化
每种框价都会有国际化的支持,struts2的国际化大致上分为页面的国际化,Action的国际化以及xml的国际化 首先在struts.properties文件中加入以下内容:struts.custom ...
- 由node-webkit想到
本人做为.NET的死忠也有些许年头.微软这几年被谷歌苹果之流打的有点招架不住..NET的前景也难免堪忧.虽然我认为就强类型语言方面,C#绝对是最强者.但是新技术的发展确实是可怕的,看看苹果几年就把no ...
- 循序渐进开发WinForm项目(3)--Winform界面层的项目设计
随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...
- 关于 hangfire 的权限问题
hangfire 是一个分布式后台执行服务. 官网:http://hangfire.io/ 我看中hangfire的地方是 1:使用简单 2:多种持久化保存方案.支持sqlserver ,msmq等 ...