美文网首页
引导页滑动跳转主界面

引导页滑动跳转主界面

作者: 薰衣草儿 | 来源:发表于2017-01-17 16:53 被阅读204次

            记得我刚毕业工作的时候,还是很懵懂,入职第一家公司 ,是一个创业公司,二三十个人,工作特别紧张.每天压力都感觉好大呀!每天都有大量的工作,都有无数的新知识!那个时候,没有既没有工作经验,又没有项目经验自己,完成任务而很慢了咯!而且每天都会有老板在催进度!oh,my god  我都不知道我是怎么熬过来的.

    记得当时让我写一个引导页,对于整个项目,引导页算是再简单不过的了,但是呢!项目中要求,必须是滑动进入主页面,没有那个@"立即体验"或者@"立即进入"的那个进入按钮! 额 ! 其实实现的方法有很多!但是对于当时的自己完全懵逼了. 我刚开始是用UICollectionView实现的,可是 cell的触摸事件总是不能触发!  我也忘了最后是怎么实现的咯! 但是这个问题令我印象挺深刻的,所以今天工作量不是很大,就写一个引导页滑动调转到主界面. 实现方法是主要是scrollview 在scrollview的代理事件中的几行代码

    来看一下GuideController.m 中的实现方法吧

    #import "GuideController.h"

    #import "ViewController.h"

    #define kWidth [UIScreen mainScreen].bounds.size.width

    #define kHeight [UIScreen mainScreen].bounds.size.height

    @interface GuideController ()

    //用来存储所有引导页的数组

    @property (nonatomic,strong)NSArray *bgImgsArr;

    //用来滚动的scrollview

    @property (nonatomic,strong) UIScrollView *scrollView;

    //显示页数圆点的pageControl

    @property (nonatomic,strong)UIPageControl *pageControl;

    @end

    @implementation GuideController

    // 标记

    static NSString * const reuseIdentifier = @"Cell";

    - (void)viewDidLoad {

    [super viewDidLoad];

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, kWidth, kHeight)];

    scrollView.delegate = self;

    [self.view addSubview:scrollView];

    self.scrollView = scrollView;

    //设置scrollview的contentsize属性,让界面可以滚动

    self.scrollView.contentSize = CGSizeMake(self.bgImgsArr.count * self.scrollView.frame.size.width, 0);

    //取消滚动条

    self.scrollView.showsVerticalScrollIndicator = NO;

    self.scrollView.showsHorizontalScrollIndicator = NO;

    //设置分页效果

    self.scrollView.pagingEnabled = YES;

    //创建UIImageView

    for (int i = 0; i < self.bgImgsArr.count; i ++) {

    UIImageView *imageView  = [[UIImageView alloc] init];

    CGFloat imageViewX = i * kWidth;

    imageView.frame = CGRectMake(imageViewX, 0,kWidth, self.scrollView.frame.size.height);

    //添加图片

    imageView.image = self.bgImgsArr[i];

    //向scrollview中添加几张图片

    [self.scrollView addSubview:imageView];

    }

    //设置pageControl的总个数

    self.pageControl.numberOfPages = self.bgImgsArr.count;

    //设置pagecontrol当前处于第几个

    self.pageControl.currentPage = 0;

    }

    #pragma mark - UIScrollViewDelegate

    //界面滚动的时候调用

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView{

    NSInteger page  = (scrollView.contentOffset.x + scrollView.frame.size.width*0.5)/scrollView.frame.size.width;

    self.pageControl.currentPage = page;

    CGPoint point = self.scrollView.contentOffset;

    //判断point是否处于最后一页

    if (point.x > self.scrollView.frame.size.width * (self.bgImgsArr.count - 1)) {

    //获取应用程序对象

    UIApplication *app = [UIApplication sharedApplication];

    app.keyWindow.rootViewController = [[ViewController alloc] init];

    }else{

    point.x += self.scrollView.frame.size.width;

    }

    }

    #pragma mark - 懒加载

    - (NSArray *)bgImgsArr {

    if (!_bgImgsArr) {

    _bgImgsArr = @[

    [UIImage imageNamed:@"引导页-1"],

    [UIImage imageNamed:@"引导页-2"],

    [UIImage imageNamed:@"引导页-3"],

    [UIImage imageNamed:@"引导页-4"],

    ];

    }

    return _bgImgsArr;

    }

    @end

    如果不怎么看清 下面有个demo连接:http://www.jianshu.com/writer#/notebooks/8035700/notes/8521567

    对于大神来说,这是很简单的问题,希望这对于那些刚入职,刚毕业的那些有这样需求的小伙伴有所帮助

    相关文章

      网友评论

          本文标题:引导页滑动跳转主界面

          本文链接:https://www.haomeiwen.com/subject/pngmbttx.html