你的位置:首页 > 操作系统

[操作系统]启动滑动图


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