文档章节

iOS引导页

hao1208hao
 hao1208hao
发布于 2016/07/28 11:52
字数 356
阅读 25
收藏 1

废话不多说,直接上代码。

定义一个引导页的类  GuideVC
GuideVC.h 文件:

#import
   @interface GuideVC : UIViewController
@end

GuideVC.m 文件:

#import "GuideVC.h"

#define totalCounts 3  //引导页数量
// 屏幕相关尺寸
#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)

@interface GuideVC ()

@property (strong, nonatomic)  UIScrollView *pageScroll;
@property (strong, nonatomic)  UIPageControl *pageControl;

@end

@implementation GuideVC

- (void)viewDidLoad {
    [super viewDidLoad];
   
    [self createScrollView];
}

// 创建显示引导图片ScrollView
-(void)createScrollView{   
    self.pageScroll = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
    self.pageScroll.pagingEnabled = YES;
    self.pageScroll.delegate = self;
    self.pageScroll.contentSize = CGSizeMake(SCREEN_WIDTH * totalCounts, SCREEN_HEIGHT);
    self.pageScroll.backgroundColor = [UIColor whiteColor];
    self.pageScroll.showsHorizontalScrollIndicator = NO;
    self.pageScroll.showsVerticalScrollIndicator = YES;
    [self.view addSubview:self.pageScroll];
   
   
    [self AddGuideImg];
   
    CGFloat w = 100;
    CGFloat h = 20;
    self.pageControl = [[UIPageControl alloc]init];
    [self.pageControl setFrame:CGRectMake((SCREEN_WIDTH-w)/2, SCREEN_HEIGHT-30, w, h)];
    self.pageControl.numberOfPages = totalCounts;  //设置引导页有几个界面
    self.pageControl.currentPage = 0;
    self.pageControl.tintColor = [UIColor lightGrayColor];
    [self.view addSubview:self.pageControl];
   
}


// 添加引导图片,图片全名  Guide1.jpg、Guide2.jpg、Guide3.jpg。。。
-(void)AddGuideImg{
    CGFloat height = [UIScreen mainScreen].bounds.size.height;
    for (int i=0; i
        UIImageView* imageView = [[UIImageView alloc] initWithFrame:CGRectMake(i*SCREEN_WIDTH, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
        NSString* imageNameStr =[NSString stringWithFormat:@"Guide%i.jpg",i+1];
       
        imageView.image = [UIImage imageNamed:imageNameStr];
       
        if (i == totalCounts-1) {
            //最后一张图片添加按钮
            [imageView setUserInteractionEnabled:YES];
            UIButton* start = [UIButton buttonWithType:UIButtonTypeCustom];
            UIImage* startBtnImg = [UIImage imageNamed:@"btn"];
            [start setImage:startBtnImg forState:UIControlStateNormal];
           
            [start setFrame:CGRectMake(SCREEN_WIDTH-20-startBtnImg.size.width, SCREEN_HEIGHT-25-startBtnImg.size.height, startBtnImg.size.width, startBtnImg.size.height)];
           
            [start addTarget:self action:@selector(gotoMainView) forControlEvents:
             UIControlEventTouchUpInside];
            [imageView addSubview:start];           
        }
        [self.pageScroll addSubview:imageView];
    }   
}

//跳转到首页
-(void)gotoMainView{
  
}

#pragma mark - UIScrollViewDelegate
#pragma mark
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGFloat pageWidth = self.view.frame.size.width;
    int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    self.pageControl.currentPage = page;
}

© 著作权归作者所有

共有 人打赏支持
hao1208hao
粉丝 0
博文 3
码字总数 2237
作品 0
石家庄
程序员

暂无文章

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
30分钟前
25
5
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
33分钟前
0
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部