当前位置: 代码迷 >> Iphone >> 起动滑动图
  详细解决方案

起动滑动图

热度:113   发布时间:2016-04-25 05:32:01.0
启动滑动图

当我们下载安装一个新的应用,或者将先用应用更新之后,第一次打开会又个启动滑动图,介绍程序的功能或增加的新特性.这个界面只在第一次打开时出现,之后就不再显示.此处利用程序版本号,以及UIScrollView和UIPageControl实现程序启动滑动图.

程序启动时,最先打开的是入口类:AppDelegate,所以先在入口类中判断程序是否为第一次打开.

//获取当前版本号    NSString *key=(NSString *)kCFBundleVersionKey;    NSString *version=[NSBundle mainBundle].infoDictionary[key];    //上次版本存储的版本号    NSString *saveVersion=[[NSUserDefaults standardUserDefaults]objectForKey:key];    //判断版本号是否一致,如果一致,跳转到主页    if ([version isEqualToString:saveVersion]) {        mainViewController *main=[[mainViewController alloc]init];        UIWindow *window=[UIApplication sharedApplication].delegate.window;        window.rootViewController=main;    }    //如果不一致,进入启动滑动页面    else    {        //在进入启动页面之前,先把新的版本号存入沙盒,替代旧版本号        [[NSUserDefaults standardUserDefaults]setObject:version forKey:key];        [[NSUserDefaults standardUserDefaults]synchronize];        scrollViewController *scroll=[[scrollViewController alloc]init];        UIWindow *window=[UIApplication sharedApplication].delegate.window;        window.rootViewController=scroll;    }

在启动滑动页面添加UIScorllVIew和UIPageControl

添加UIScrollView-(void)addScorll{    scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];    scroll.pagingEnabled=YES;    //将scroll的大小设计的比原来多一点,目的是当滑动到最后一张图时,再次滑动会进入主界面,没有为什么,我自己试出来的.    scroll.contentSize=CGSizeMake(320*3+150, 0);    //添加图片    for (int i=0; i<3; i++) {        UIImageView *image=[[UIImageView alloc]initWithFrame:CGRectMake(320*i, 0, 320, 480)];        image.image=[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i+1]];        [scroll addSubview:image];        //为每个页面添加跳过按钮        UIButton *jump=[UIButton buttonWithType:UIButtonTypeCustom];        jump.frame=CGRectMake(320*i+110, 430, 100, 30);        jump.backgroundColor=[UIColor redColor];        [jump addTarget:self action:@selector(jumpToMain) forControlEvents:UIControlEventTouchUpInside];        [scroll addSubview:jump];    }    scroll.showsHorizontalScrollIndicator=NO;    scroll.contentOffset=CGPointMake(0, 0);    scroll.delegate=self;    [self.view addSubview:scroll];}

点击跳过按钮跳转到下一页

-(void)jumpToMain{    mainViewController *main=[[mainViewController alloc]init];    UIWindow *window=[UIApplication sharedApplication].delegate.window;    window.rootViewController=main;}

添加pagecontrol

-(void)addpagecontrl{    page=[[UIPageControl alloc]init];    page.frame=CGRectMake(110, 470, 100, 10);    page.numberOfPages=3;    page.currentPage=0;    [self.view addSubview:page];}

滑动页面

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{    page.currentPage=scroll.contentOffset.x/320;    //第三张图像向左需要滑动超过140才能跳转,这个随个人情况调吧    if (scroll.contentOffset.x>320*2+140) {        mainViewController *main=[[mainViewController alloc]init];        UIWindow *window=[UIApplication sharedApplication].delegate.window;        window.rootViewController=main;    }}

 

 

 

 

 
  相关解决方案