·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> 启动滑动图

启动滑动图

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

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